struts2的配置问题:
配置步骤:
一:添加jar包,常用的有八个jar文件
注意jar包的冲突问题,比如用到xml解析的时候xml-apis.jar和xerces-2-6-2就会和JDK1.6冲突,冲突时会报如下错误:
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:203)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4775)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5452)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1282)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1446)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:322)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1374)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
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)
... 23 more
二:配置struts.xml
配置的标签格式就不多说了,就提提需要注意的问题。
(1)添加xml头部信息,别粗心。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
缺少的话会是404.
(2)<action
name="LoginAction" class="com.huaxin.struts.LoginAction"> name的值必须和jsp页面中想要请求的Action一致。不一致时报如下错误
java.lang.NullPointerException
org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:501)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:432)
因为是通过jsp中form的提交路径找到struts配置中的该Action类。
(3)struts2中struts2配置文件文件名必须为
struts.xml,在struts1中为struts—config.xml,而且该文件必须存放在项目中的
src目录下,千万别放到WEB-INF下了。
三:Action类的实现
(1)写该类的时候在继承ActionSupport的时候记得
重写execute()方法就行了。
(2)该类中所用到的参数名需和jsp页面表格中提交的参数名一致。比如类中有这两个属性
String username;
String password;
那么jsp中参数名必须一致。而get(),set()方法最好用快捷键实现,如果采用以上属性名,则get()方法必须为getUsername() 注意大小写的错误。
上面这些问题都是刚刚配置的时候遇到的问题,总之一切得细心细心再细心,一个字母的差错,说不定会浪费你一两个小时的时间去发现这个错误。
- 大小: 22.3 KB
分享到:
相关推荐
在配置Struts2时,通常会使用一个名为`struts.xml`的配置文件,该文件定义了应用程序的行为和组件。为了在开发环境中获得更好的代码辅助和提示,我们需要使IDE(例如Eclipse)理解`struts.xml`文件的结构,这通常...
总结一下,当遇到Struts2配置文件位置更改问题时,应遵循以下步骤: 1. 确保新的`struts.xml`文件路径是相对于`WEB-INF/classes`目录的。 2. 更新`web.xml`中的`StrutsPrepareAndExecuteFilter`过滤器配置,通过`...
当开发者未在自己的`struts.xml`中指定某些配置时,默认会采用这些预定义的配置。 #### 二、struts.xml详解 - **Packages**:在`struts.xml`中,首先定义了一个或多个`package`元素,每个`package`都代表了一组...
### 配置Struts2常见错误及解决方案 #### 引言 Struts2是一个基于Java的Web应用框架,它能够帮助开发者快速构建出结构清晰、易于维护的应用程序。然而,在实际开发过程中,开发者经常会遇到一些配置上的问题,这些...
了解Struts2配置文件的加载顺序对于优化应用性能和解决配置问题至关重要。 Struts2的配置主要分布在以下几个文件中: 1. **struts-default.xml**:这是Struts2的核心配置文件,位于`struts2-core.jar`库的`/org/...
本文将详细介绍Struts2.5.2的配置过程以及可能遇到的问题和解决方案。 首先,配置Struts2.5.2需要从官方站点下载所需的jar包。在http://struts.apache.org/download.cgi#struts252上,你可以找到两个选项:1是指...
在IT领域,特别是Web开发中,遇到中文乱码问题是相当常见的,尤其是在使用Struts2框架进行项目开发时。本文将围绕“Struts2配置文件传值中文乱码”这一主题,深入探讨其成因、解决方案以及相关的配置细节,旨在帮助...
#### 一、徒手配置Struts2环境时需注意的关键事项 在没有使用任何集成开发环境的情况下配置Struts2,可能会遇到各种问题,尤其是在配置过程中对于细节的把握至关重要。以下是配置过程中需要注意的一些关键点: 1. ...
Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...
然而,随着时间的推移,人们逐渐意识到过于依赖配置文件可能会带来诸多不便,比如缺乏编译时检查、配置语法复杂、文件日益臃肿等问题。因此,“约定优于配置”的理念应运而生。 **约定优于配置**的核心思想是通过...
此外,标签中的“源码”提示我们关注Struts2的源代码,这对于理解和调试配置问题非常有帮助。理解源代码可以帮助我们更好地把握框架的工作原理,解决配置错误或性能优化等问题。 最后,工具标签可能指的是开发过程...
记得在开发过程中,利用IDE的错误提示和日志信息来定位和解决问题,同时也可以借助Struts2的官方文档和社区资源来深入学习和提升。 标签中的“源码”指的是Struts2的源代码,开发者可以通过阅读源码来了解其内部...
在使用Struts2开发项目时,环境配置是至关重要的第一步。以下将详细介绍如何配置Struts2所需的jar包,以及如何将这些jar包应用于你的项目。 首先,`struts2配置环境需要的jar包`意味着你需要确保你的开发环境中包含...
这个严重错误通常涉及到Struts2配置问题,可能的原因包括: - `struts.xml`中的包路径错误。 - 工程中导入了不兼容的`commons-fileupload`包。确保使用与Struts2版本兼容的库。 以上就是Struts2开发过程中常见的...
8. **struts2-config-browser-plugin**:这个插件提供了一个配置浏览器,可以在运行时查看和调试Struts2的配置信息,对于理解和调试配置问题非常有帮助。 在实际配置中,开发者需要根据应用的需求选择合适的包,并...
总结来说,Struts2与Freemarker的配置主要是围绕工程的环境搭建、Struts2的web.xml配置、struts.xml配置以及Freemarker模板的编写展开的。通过这种集成,开发者可以利用Struts2的强大控制逻辑和Freemarker的模板能力...
本文主要描述在配置过程中出现的一些问题,并没有详细描述如何配置,其相关步骤请自行查阅。本文主要讲解如下几个问题: 将struts.xml文件放到指定位置; 包含多个struts-XX.xml文件; 将spring配置文件放到指定位置...
因此,在使用Struts2时,开发者需要保持对框架版本的关注,及时更新修复漏洞。 **五、源码分析** 对于学习和理解Struts2,阅读源码是深入掌握其工作原理的重要途径。通过查看`ActionInvocation`、`ActionContext`...
2. 框架配置错误:如果开发者在配置Struts2时未遵循最佳实践,可能会导致敏感信息泄露、权限提升等安全问题。例如,不正确的Action配置可能导致未授权访问。 3. 类加载器问题:Struts2使用了自定义的类加载机制,这...
3. **配置web.xml**:在`web.xml`中配置Struts2的核心过滤器`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`。同时,确保配置了正确的Context路径和其他必要配置。 4. **配置struts.xml*...