`

Struts2 v2.1.6 笔记

    博客分类:
  • Java
阅读更多

1.启动
<constant name="struts.devMode" value="true"/> 或者
<constant name="struts.configuration.xml.reload" value="true"/>
时启动tomcat报错。
org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
java.lang.NullPointerException
    at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading(FileManager.java:209)
    at com.opensymphony.xwork2.util.FileManager.fileNeedsReloading(FileManager.java:60)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.needsReload(XmlConfigurationProvider.java:325)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.needsReload(StrutsXmlConfigurationProvider.java:168)
    at com.opensymphony.xwork2.config.ConfigurationManager.conditionalReload(ConfigurationManager.java:220)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:61)
    at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:774)
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:191)
    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:3709)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2009-2-4 22:40:54 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2009-2-4 22:40:54 org.apache.catalina.core.StandardContext start
严重: Context [/Struts2Demo2] startup failed due to previous errors

    devMode模式是开发模式,开启它则默认开启了i18n.reload、configuration.xml.reload。这个错误是由于configuration.xml.reload设置为true倒置的,但是网上的资料没有说明原因及解决办法,倒是一个国外的apache相关BBS上有人说这是216版本的BUG,并且附上了一个.patch修正文件,说217版本会修正。。。可我不会用也不知道是不是这个原因,这个问题就一直搁置在这里了。过了几个月,也就是最近网上查了下发现在apache的一个邮件列表中有关于这个的解释,原因很简单,tomcat的安装路径包含空格。。。无语啊。。。一试果然如此。

   下面是4个开发模式常用配置的简介---
    <!-- 开启使用开发模式,详细错误提示 -->
    <!-- <constant name="struts.devMode" value="true"/>-->
    <!-- 指定每次请求到达,重新加载资源文件 -->
    <!-- <constant name="struts.i18n.reload" value="true"/>-->
    <!-- 指定每次配置文件更改后,自动重新加载 -->
    <!-- <constant name="struts.configuration.xml.reload" value="true"/>-->
    <!-- 指定XSLT Result使用样式表缓存 -->
    <!-- <constant name="struts.xslt.nocache" value="true"/>-->

2.零配置插件codebehind一旦导入就必须进行init-param初始化配置,否则报错:packageAction can't mapping action!

3.<s:i18n name="???"></s:i18n>包住那个标签,该标签就加载它指定的国际化文件,不管是text,textfield还是form都是如此。

4.action实例、xxxScope对象都在ValueStack内,直接使用${}调用

5.使用append标签时,没有所谓的将map和list集合对象连接起来的说法,在创建map对象的使用的语法为#{:,},如果省略冒号,则默认value为null。

5.StackContext 中的对象可以理解为struts2标签库使用的专用对象,比如通过value属性调用:value="#xxx.xxx.xxx..."

6.ValueStack是StackContext的顶级对象,可以不需要#前缀使用,StackContext中的某些已建立对象可以通过比如在某些标签中设置var属性调入根对象ValueStack,达到省略#号的目的。在实际中则可以理解为在标签内临时新建的一个或多个对象,通过var属性指定的名称访问 value="xxx.xxx.xxx...."

7.${requestScope.xxx.name} 与 <s:property value="#request.xxx.name"/>(escapse属性设置为false) 表达的内容相同,都是输出request范围内的xxx对象的name属性值,且无论是否该值包含html代码

分享到:
评论

相关推荐

    struts2超详细笔记

    ### Struts2超详细笔记知识点解析 #### 一、准备工作及实例 **1. 解压struts-2.1.6-all.zip** - **Apps目录**:包含struts2自带的一些示例程序,用于快速了解struts2的基本使用方法。 - **Docs目录**:存放官方...

    马士兵Struts2笔记2013

    4. **Struts2_2.1.6版本的中文问题** 在某些版本的Struts2中,可能出现处理中文字符集的问题。这可能需要配置应用服务器或web.xml以指定正确的字符编码,如设置`&lt;filter&gt;`和`&lt;filter-mapping&gt;`元素以使用UTF-8编码...

    struts2学习笔记

    ### Struts2学习笔记知识点详解 #### 一、准备工作及实例 **1. 解压struts-2.1.6-all.zip** - **Apps目录**:包含struts2自带的例子程序,供用户学习和参考。 - **Docs目录**:提供官方文档,包括API文档、指南等...

    struts2的详细笔记

    首先,Struts2框架的安装涉及到解压缩其发行版,例如struts-2.1.6-all.zip。在这个压缩包中,有以下几个关键目录: 1. `apps`目录:包含了Struts2自带的示例程序。 2. `docs`目录:提供了官方文档,用于学习和参考...

    Struts2学习笔记2012

    ### Struts2学习笔记2012 #### 一、建立一个Struts2工程 **步骤详解:** 1. **创建Web项目:** - 在MyEclipse中选择“File” &gt; “New” &gt; “Dynamic Web Project”,创建一个新的Web项目。 2. **解压并配置...

    struts2.1.6 jar&出现404错误的原因,自己刚整理一些的东西

    总的来说,解决Struts2.1.6版本下的404错误需要对Struts2的配置、依赖库、Web应用部署以及应用服务器有深入的理解。通过仔细检查这些方面并进行相应的调整,通常可以有效地定位并解决问题。同时,利用相关的学习资源...

    struts2笔记[初步修改版]

    这篇笔记主要涵盖了Struts2的基础知识,适合初学者入门学习。 首先,笔记介绍了Struts2的基本环境搭建。解压`struts-2.1.6-all.zip`后,可以看到几个关键目录:`apps`包含示例程序,`docs`存储官方文档,`lib`存放...

    struts2经典笔记(实例以及详解)

    本笔记将深入探讨Struts2的经典实例和详细解释,帮助开发者更好地理解和使用这一框架。 首先,我们需要进行基本的环境准备。这包括下载并解压`struts-2.1.6-all.zip`文件,其中包含重要的目录如`apps`,包含示例...

    Struts2学习笔记2011(详细图解)

    以上就是Struts2学习笔记中的主要内容,通过这些知识点的学习,开发者能够熟练地搭建和使用Struts2框架,构建高效、稳定的Web应用。同时,理解并掌握这些概念有助于进一步探索Struts2的高级特性,如拦截器、插件系统...

    struts2笔记.doc

    - **struts2-core-2.1.6.jar**:Struts2的核心类库,包含框架的基础API和实现。 - **freemarker-2.3.13.jar**:用于页面渲染的模板引擎,Struts2的UI标签基于Freemarker实现。 - **commons-logging-1.0.4.jar**:...

    struts2笔记(修改版)

    - **struts2-core-2.1.6.jar**:Struts2的核心类库,包含了运行Struts2应用所需的所有基础类。 - **freemarker-2.3.13.jar**:用于支持Freemarker模板引擎,这是Struts2默认使用的视图技术。 - **commons-logging...

    struts2笔记

    - `struts2-core-2.1.6.jar`:这是Struts2框架的基础,包含了核心类和接口。 - `freemarker-2.3.13.jar`:用于渲染视图,Struts2的UI标签是基于FreeMarker模板语言编写的。 - `commons-logging-1.0.4.jar`:提供...

    Strtus2学习笔记

    - Location: D:\share\0750_Struts2.1.6\soft\struts-2.1.6\lib\struts2-core-2.1.6\struts-2.0.dtd 2. **导入示例项目失败** - JDK版本检查:确保使用JDK 6 - 项目右键 &gt; Properties &gt; Java Compiler &gt; 选择6.0 ...

    马士兵Spring课堂笔记(超级详细版).pdf

    本资源主要讲解了Spring框架的基础概念和应用,涵盖了面向接口编程、IOC/DI、AOP、Spring应用IOC/DI、Spring应用AOP、Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2整合、Spring JDBC面向接口编程等内容。 面向接口...

    CXF webservice初学笔记

    - `struts2-core-2.1.6.jar`:Struts2是一个基于MVC设计模式的Web应用框架,可与CXF集成以实现Web界面。 - `woodstox-core-asl-4.0.8.jar`和`stax2-api-3.0.2.jar`:Woodstox是一个高效的StAX(Streaming API for ...

Global site tag (gtag.js) - Google Analytics