- 浏览: 276952 次
文章分类
最新评论
-
guji528:
oracle的统计函数真的很强大
Oracle 使用LAG和LEAD函数统计 -
haiyangyiba:
受教了
No Dialect mapping for JDBC type: 3 -
elvishehai:
能不能给个完整点的例子呀,我一直都没有试成功过,
简单的使用jackson的annotation -
miaoyue:
如果我想把name属性转成注释之后,之前的注释还在怎么做?
PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码 -
ianl_zt:
以上方法只适合在hibernate2中使用,现在hiberna ...
Hibernate的批量更新和删除
内容检索
1.警告: No configuration found for the specified action: '/myNameSpace/login.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value.
2.关于s标签的错误
3.导入struts-default.xml的错误
4.Cannot locate the chosen ObjectFactory
-----------------------------------------------分割线 --------------------------------------------------------
1.出错信息:
警告: No configuration found for the specified action: '/myNameSpace/login.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value.
- 今天花了点时间把struts2警告事件彻底的测试了一边,终于有点眉目了。希望能给 其他人带来一点帮助。
- 警告信息:
- 警告: No configuration found for the specified action: '/myNameSpace/login.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value.
- struts.xml配置信息(部分)
- <package name="packageName" extends="struts-default" namespace="/myNameSpace">
- <action name="login" class="com.jato.srvclink.test.login.LoginAction" method="login">
- jsp页面配置信息(部分)
- <s:form action="/myNameSpace/login.action">
- 思考:没有在''的 namespace中发现指定的action '/myNameSpace/login.action'
- 答疑:因为配置的struts2标签并未指定 namespace属性。所以struts2会默认从根命名空间"/"搜索action串'/myNameSpace/login.action',如果搜索不到将进入默认命名空间''搜索action请 求串,在默认命名空间中是肯定找不到我们定义的action的,所以,struts2抛出一个警告信息。
- 但是为什么我们没有填写namespace,我们的请求也可以正常访问呢?
- 我们来看一下解析后的html
- 查看源码得到的html(部分)
- <form id="login" onsubmit="return true;" action="/srvclink/myNameSpace/login.action" method="post">
- 我们看到form提交的action串是准确的url 请求,action串确实是/srvclin(应用根)/myNameSpace(命名空间)/login.action。
- 命名空间中找不到action定义,并不意味着这个action真的不存在,只 是我们的代码有问题而已。还有一点是我们在jsp页面的action请求中手动的加入了.action后缀。事实上struts2会自动追 加.action的,因为我们并没有合法的使用struts2的标签,所以struts2这里并没有给我们追加.action,解析后的代码中存在 的.action,完全是我们手动在jsp页面填写的,有疑问的网友可以不手动添加查看html。
- 我们修改我们的程序代码
- jsp页面配置信息(部分)修改后加入namespace属性,修改 action属性值为/login.action
- <s:form action="/login.action" namespace="/myNameSpace">
- 请求页面后,大家很失望吧?警告依然存在。但是我们看一下警告信息。
- 警告信息:
- 警 告: No configuration found for the specified action: '/login.action' in namespace: '/myNameSpace'. Form action defaulting to 'action' attribute's literal value.
- 没有在'/myNameSpace'的 namespace中发现指定的action '/login.action'
- 毫无疑问,这里的警告和第一次的警告信息截然不同。我们现在存在命名空间,'/myNameSpace'能够被struts2检索到,并不是开始的''。那问题的关键在哪里呢?
- 在namespace中没有发现指定的action '/login.action' ???
- 我们来看一下struts.xml中的配置:
- struts.xml配置信息(部分)
- <package name="packageName" extends="struts-default" namespace="/myNameSpace">
- <action name="login" class="com.jato.srvclink.test.login.LoginAction" method="login">
- 是的,我们'/myNameSpace'命 名空间下,只有action名字为'login'的定义,并没有所 谓的 '/login.action' 定义,所以struts2 的警告并未错。如果大家对这个抱有怀疑,可以修改action的名字'login'为‘/longin.action’
- <action name="/login.action" class="com.jato.srvclink.test.login.LoginAction" method="login">
- 请求页面时你会发现不在报警告信息,原因很简单。因为在命名空间为'myNameSpace'下 确实存在命名为'/login.action'的action。
- 我们再次修改配置文件
- jsp页面配置信息(部分)修改后action属性值为longin
- <s:form action="login" namespace="/myNameSpace">
- 请求页面时,我们发现不再有警告信息了。
- 如果你有足够细心,我想你应该可以彻底的明白为什么struts2会报警了吧?你也应该明白了使用struts2标签 action中添加/线后请求反而报错的原因了。
2.关于s标签的错误
JSP页面
- <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
- <%@ taglib prefix="s" uri="/struts-tags"%>
- <s:form action="<%=url %>/login" method="post">
- <s:textfield name="user.username" label="username"/>
- <s:textfield name="user.password" label="password"/>
- <s:submit value="submit"/>
- </s:form>
- 严 重: Servlet.service() for servlet jsp threw exception
- org.apache.jasper.JasperException: /index.jsp(15,23) attribute for %>" is not properly terminated
- at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
- at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
- at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:130)
- at org.apache.jasper.compiler.Parser.parseAttributeValue(Parser.java:241)
- at org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:205)
- at org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:143)
- at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1328)
- at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1560)
- at org.apache.jasper.compiler.Parser.parse(Parser.java:126)
- at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
- at org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
- at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
- at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
- at org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
- at org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
- at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
- at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296)
- at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
- at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
- at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:416)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
- at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
- at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
- at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
- at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
- at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
- at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
- at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
- at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731)
- at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
- at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
- at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
- at java.lang.Thread.run(Thread.java:595)
s标签不支持<=%%>,所以要用下面的代码:
- <s:form action="${url}/login" method="post">
3.导入struts-default.xml的错误
- 严重: Exception starting filter Struts2
- Caught exception while loading file struts-default.xml - [unknown location]
- at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:839)
- at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:131)
- at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:100)
- at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:130)
- at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
- at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
- at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
- at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
- at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
- at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
- at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
- at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3696)
- at org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
- at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3086)
- at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:404)
- at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1309)
- at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
- at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
- at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
- at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
- at java.lang.Thread.run(Thread.java:619)
- Caused by: java.lang.ClassCastException: org.apache.xerces.parsers.XML11Configuration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
- at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
- at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
- at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source)
- at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
- at com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.<init>(SAX2DOM.java:69)
- at com.sun.org.apache.xalan.internal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandler(TransletOutputHandlerFactory.java:187)
- at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(TransformerImpl.java:392)
- at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerHandlerImpl.setResult(TransformerHandlerImpl.java:137)
- at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.setup(DomHelper.java:213)
- at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:198)
- at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:189)
- at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:175)
- at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:115)
- at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:830)
- ... 20 more
解决方法:
移除项目目录中的xerces.jar
there was a conflict between tomcat's internal XML parser and the xerces
I was using inside my project.
参考链接:http://www.nabble.com/org.apache.xerces.parsers.XML11Configuration-cannot-be-cast-to-org.apache.xerces.xni.parser.XMLParserConfiguration-td14108368.html
4.Cannot locate the chosen ObjectFactory
- Cannot locate the chosen ObjectFactory implementation: spring - [unknown location]
解决办法一:
添加struts2-spring-plugin-XXXX.jar
解决办法一:
在struts.properties里把struts.objectFactory=spring改成
struts.objectFactory=com.opensymphony.xwork2.ObjectFactory就可以了.
发表评论
-
简单的使用jackson的annotation
2011-02-16 10:27 25260@JsonAutoDetect (class) 这是作用 ... -
Jackson 入门
2011-02-16 10:25 22025原文链接: http://jackson.codehaus. ... -
Jackson 使用简介
2011-02-16 10:20 8101http://jackson.codehaus.org/ ... -
nexus-maven- repository-index.zip手动下载与设置
2010-04-16 14:46 12691问题描述: 在启动eclipse的时候,在maven控制 ... -
MyEclipse启动故障-Initializing Java Tooling
2010-04-16 14:43 5686最近安装新系统后,重新安装了JDK,然后启动以前安装的MyEc ... -
iframe跨域session丢失问题
2010-02-04 15:37 5548最近在做一个系统(A),需要在系统(A)中集成目前现存系统(B ... -
SLF4J+logBack, 日志领域中的新秀
2009-04-25 13:57 3627Ceki Gülcü创造了日志领 ... -
struts2.1.6,spring2.5.6,hibernate3.3.1,annotations
2009-04-24 15:50 3108根据流程进行注意点的 ... -
用HttpClient来模拟浏览器GET POST
2009-01-09 11:37 2253一般的情况下我们都是使用IE或者Navigator浏览器来访问 ... -
java输出扭曲验证码
2008-11-07 16:43 5684import java.awt.Color; import j ... -
getOutputStream() has already been called for this
2008-11-07 16:30 2687有一个使用SerlvetResponse输出图像的例子,代码如 ... -
深入探索 高效的Java异常处理框架【转自www.bitsCN.com】
2008-11-03 11:58 2826摘要:本文从Java异常最基本的概念、语法开始讲述了Java异 ... -
Spring+Hibernate+Struts2整合文档
2008-11-03 10:44 3789一、 Spring+Hibernate整合: Spring整 ... -
Tomcat启动分析
2008-10-29 11:05 30151 - Tomcat Server的组成部 ... -
tomcat集群和负载均衡
2008-10-29 11:00 3488(一)环境说明(1)服务器 ... -
Log4j配置文件
2008-10-29 10:58 2306#配置根Logger,其语法为:log4j.rootLog ... -
c3p0连接池说明
2008-09-18 11:57 3210<c3p0-config> <def ... -
利用xfire编写webservice
2008-08-15 10:19 37711. xfire + spring 发布webserv ... -
struts + spring + xfire (组合)
2008-08-15 10:14 3916一般情况下, spring+ struts的组合,struts ... -
无所不能的“蚂蚁”--Ant(四)
2008-08-06 20:02 2264五.使用Ant运行本地程序 1.使用Ant运行windows的 ...
相关推荐
但是,在使用 SSH 时,可能会遇到一些问题,本文将总结一些常见的问题和解决方法。 1. SSH 连接超时 问题描述:使用 SSH 连接服务器时,连接超时,无法登录服务器。 解决方法:检查网络连接是否正常,确保服务器...
### SSH各种问题集合及解决方案 #### 一、SSH基础启动问题 **问题描述:** SSH服务启动时出现异常,导致无法正常连接。 **解决方案:** 1. **检查SSH配置文件**: - 需要确认`/etc/ssh/sshd_config`文件中的配置...
"Hadoop 使用常见问题以及解决方法" Hadoop 作为一个大数据处理的开源框架,广泛应用于数据存储、处理和分析等领域。但是在使用 Hadoop 时,经常会遇到一些常见的问题,本文将对这些问题进行总结和解决。 Shuffle ...
Secure Shell (SSH) 是一种广泛使用的网络协议,用于在不安全的网络环境中...定期检查 SSH 服务的状态,监控日志文件,可以及时发现并解决潜在问题。在处理 SSH 故障时,熟悉相关命令行工具和系统日志分析将大有帮助。
### 解决SSH乱码的问题 在使用SSH(Secure Shell...通过以上方法,大多数情况下可以有效地解决SSH连接时出现的乱码问题。如果问题依然存在,建议进一步排查网络环境、SSH版本以及服务器端的应用程序等其他可能的因素。
#### SSH常见的报错及解决方法 1. **无法连接到SSH服务器:** - **错误提示**:“ssh: connect to host [IP地址] port 22: Connection refused” - **原因**:SSH服务没有运行。 - **解决方法**:确保SSH服务已...
Hadoop常见问题及解决办法汇总 Hadoop是一个基于Apache的开源大数据处理框架,广泛应用于大数据处理、数据分析和机器学习等领域。然而,在使用Hadoop时,经常会遇到一些常见的问题,这些问题可能会导致Hadoop集群...
本文详细介绍了Ubuntu 16.04系统中SSH安装失败可能的原因及其相应的解决方法。通过检查网络环境、更新系统、清理缓存、安装SSH服务、验证安装状态、检查端口占用情况、配置SSH服务、重启服务以及高级调试技巧等一...
配置SSH整合框架时经常遇到各种问题,文档整理了遇到的常见问题以及相关解决办法
为了解决这个问题,开发者尝试了多种常见方法,如设置项目、数据库连接、页面编码为UTF-8,甚至添加字符编码过滤器,但这些都没有效果。这表明问题可能并不出在常规的编码设置上,而是其他因素导致的。 进一步分析...
本文将详细介绍如何解决SSH连接时出现的中文乱码问题,并提供一些实用的方法来确保中文字符能够正确显示。 #### 原因分析 中文乱码的问题通常与字符编码设置有关。在Linux系统中,字符编码由环境变量`LANG`、`LC_...
这本“ssh全套电子书”可能涵盖了这三个框架的详细使用方法、最佳实践以及常见问题的解决方案。书中的内容可能包括: 1. Spring框架的深度讲解,如IoC容器、AOP原理、MVC、事务管理、整合其他技术等。 2. Struts...
总之,"升级jsch包解决ssh升级后jschexception:algorithm negotiation fail等问题"是一个常见的问题解决方法。及时更新依赖库,保持与最新安全标准的同步,是避免这类问题的关键。同时,良好的错误调试和日志分析...
解决方法是更新证书,或者在首次连接时接受新主机的指纹。 6. **版本不匹配(Protocol Mismatch)** 如果两端SSH客户端和服务器的版本不兼容,会出现“Protocol major versions differ”错误。确保两边的SSH版本都...
在Hadoop集群管理中,SSH(Secure Shell)是一种常用的安全协议,用于在不同节点之间进行远程命令执行和文件传输。为了简化操作,管理员通常会配置SSH免密码登录,这样在不同节点间切换时无需反复输入密码。本文将...
本文将详细讲解如何利用"树莓派开机常用文件ssh和wifi配置文件"进行初始化配置。 1. **SSH配置**: SSH (Secure Shell) 是一种网络协议,用于安全地远程登录到树莓派,进行命令行操作。在树莓派的`boot`分区中创建...
SSH框架的常见问题和解决方法 SSH框架是Java领域中非常流行的持久化框架,它提供了强大的数据访问能力和灵活的映射机制。下面我们将讨论SSH框架的常见问题和解决方法。 1、Hibernate工作原理及为什么要用? ...
本文将针对SSH(Struts + Spring + Hibernate)框架整合开发过程中常见的404错误进行深入分析,并提供一系列解决方案,帮助初学者更好地理解和解决问题。 #### 一、Spring applicationContext.xml配置问题 1. **...
通过这个课程设计,学生将全面了解SSH框架在实际项目中的应用,掌握B/S架构下分层设计的实施方法,提升问题解决能力和代码调试技巧。同时,对软件开发的完整流程有更深入的认识,为未来的企业级开发打下坚实基础。
在Ubuntu系统中,SSH(Secure ...总之,安装和配置SSH服务器是Ubuntu系统管理的重要部分,理解其工作原理和常见问题的解决方法,对于远程运维和开发工作至关重要。通过排查上述问题,你应能解决大多数SSH连接错误。