Struts2 小结

  • web.xml文件配置

在web.xml需要配置struts2滤镜,即当jsp向后台发送请求时需要经过struts2拦截分析处理,需要注意的是struts2与struts1和spring mvc的拦截机制不同,它是通过一个filter拦截的。

filter拦截器的类除了下面这个类以外,也可以引用“org.apache.struts2.dispatcher.FilterDispatcher”。

注意filter-mapping配置的url-pattern即拦截所有的请求,如果写成/*.action就只能拦截以.action结尾的请求。

<init-param>标签中的config指定struts2初始核心文件路径,struts.xml是最核心文件

Xml代码  

  1. <!-- struts2 滤镜配置  -->
  2. <filter>
  3. <filter-name>struts2</filter-name>
  4. <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  5. <init-param>
  6. <param-name>config</param-name>
  7. <param-value>
  8. struts-default.xml,
  9. struts-plugin.xml,
  10. <!-- 核心struts.xml文件  -->
  11. ../conf/common/struts2/struts.xml,
  12. </param-value>
  13. </init-param>
  14. </filter>
  15. <filter-mapping>
  16. <filter-name>struts2</filter-name>
  17. <url-pattern>/*</url-pattern>
  18. </filter-mapping>
  • struts.xml文件配置

下面介绍一些struts2常用的配置信息,注意这些配置都有合适的默认值,不是必须的。

属性struts.i18n.encoding:指定字符集编码,这个配置经常用到;

属性struts.action.extension:指定JSP哪些后缀请求是struts2的请求,常用配置

属性struts.devMode:当系统发生异常,在浏览器打印详细的错误消息,产品上线时间以设为false关闭

属性struts.enable.DynamicMethodInvocation:是否允许OGNL在JSP中直接调用java方法,不推荐使用

标签include: 项目大的话,通常都会写很多struts2配置文件,然后通过include标签将其它配置文件引进来,需要注意的是如果struts.xml文件放在 src根目录下,include的内容是支持通配符的,但是如果struts.xml文件放在其它位置就不能用通配符了,必须老老实实写路径,下面这个 include就是struts.xml放在conf目录后引用其它文件的方式。

Xml代码  

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">
  5. <struts>
  6. <!--载入默认的struts配置-->
  7. <include file="struts-default.xml" />
  8. <!--指定web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法-->
  9. <constant name="struts.i18n.encoding" value="UTF-8"></constant>
  10. <!--该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理
  11. 如果用户需要制定多个请求后缀,则多个后缀之间以英文逗号隔开-->
  12. <constant name="struts.action.extension" value="action,do"></constant>
  13. <!--设置浏览器是否缓存静态内容,默认值为true,生产环境下使用,开发阶段最好关闭 -->
  14. <constant name="struts.serve.static.browserCache" value="false"></constant>
  15. <!--当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false,生产环境下使用,开发阶段最好打开 -->
  16. <constant name="struts.configuration.xml.reload" value="true"></constant>
  17. <!--开发模式下使用,可以打印出更详细的错误信息 -->
  18. <constant name="struts.devMode" value="true" />
  19. <!-- 动态方法调用 false为不允许 -->
  20. <constant name="struts.enable.DynamicMethodInvocation" value="true" />
  21. <!-- 默认的视图主题,标签不支持label  ; theme属性包括xhtml,html,simple,ajax ,默认是xhtml-->
  22. <constant name="struts.ui.theme" value="simple"></constant>
  23. <!--Struts2集成Spring:所有action对象由Spring来负责创建-->
  24. <constant name="struts.objectFactory" value="spring"></constant>
  25. <!-- 支持页面使用静态方法和属性 -->
  26. <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
  27. <!-- 跳转到登录页 -->
  28. <package name="CommonPackage" extends="struts-default" namespace="/common">
  29. <action name="toLoginPage">
  30. <result>/Web/login/page/login.jsp</result>
  31. </action>
  32. </package>
  33. <!-- 指定其它的配置文件路径 -->
  34. <include file="../conf/common/struts2/interceptor-common-exception.xml"></include>
  35. </struts>

邢台百姓网 http://www.jinshixun.com/ mx66
少儿美术培训 http://bianmin.jinshixun.com/5685.html mx66

时间: 2024-12-08 15:33:05

Struts2 小结的相关文章

Struts2和Spring MVC的区别

概述: Struts2框架中,Action类是其核心类,XxxAction被称作业务逻辑控制器,实现了对用户请求信息的处理.Struts2框架的引入,使用XxxAction作为控制层,将视图层和模型层相分离,真正实现了MVC开发模式,使得整个工程分成Model(持久层/业务层).View.Controller三层,使得软件耦合度被降低. SpringMVC和Struts2框架的功能相似,也是实现视图层和控制层的分离,使得软件耦合度降低.并且,SpringMVC 是Spring内置的Spring 

Struts2命令空间小结

sturts2命名空间小结,以tomcat为服务器 1. 命名空间配置为“/” <package name="default" namespace="/" extends="struts-default"> <action name="HelloWorld" class="com.venn.action.HelloWorldAction"> <result>/jsp/te

Struts2中s:set标签和s:if标签小结

1.  s:set标签 格式:<s:set name="" value="" scope=””/> 说明:把jsp页面中的一个值,以name存储起来.Scope存储的范围是在application.session.request.page…….默认是存储在该action中. 用法①:<s:set name="miloList" value="{‘java’,’php’,’C#’}"/> 这个值是一个li

struts2文件上传大小限制问题小结

一:首先看一下程序执行中出现的对应报错信息,如下所示: [WARN ] 2015-03-03 15:31:11 :Unable to parse request org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (78871114) exceeds the configured maximum (52428800) a

SSI(Struts2, Spring, iBatis)框架整合小结

MVC对于我们来说,已经不陌生了,它起源于20世纪80年代针对smalltalk语言的一种软件设计模式,现在已被广泛应用.近年来,随着java的盛行,MVC的低耦合性.高重用性.可维护性.软件工程的可管理性等诸多优点使其在java平台中很受欢迎,其间,也诞生了许多优秀的MVC框架,如专注于控制层的Struts.WebWork, Struts2, JSF等框架,专注于业务逻辑方面的Spring框架.专注于持久层的Hibernate.iBatis.Castor.JORM等框架.由于最近用了一次SSI

struts2中拦截器(interceptor)小结

什么是拦截器? java里的拦截器是动态拦截Action调用的对象.它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重用部分的方式.在AOP(Aspect-Oriented Programming)中拦截器用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作.Struts2内置了很多拦截器,每个拦截器完成相对独立的功能,多个拦截器的组合体成为拦截器栈.最为重要的拦截器栈是

Struts2标签小结

前边总结Struts2的时候将标签这一部分给丢了,当时因为开发的时候很少使用,这里简单总结一下.先看一下Struts2标签的分类吧.然后分类总结一下即可. 由于控制标签用的比较多,所以放在了前边.好首先看一下控制标签吧. 一,控制标签,JSTL大家应该都使用过,其实Struts2的控制标签和那个特别像的,主要是对EL表达式满足不了的进行补充使用.这里简单看一下吧: 1, if--elseif--else,用来控制选择输出的标签: <html xmlns="http://www.w3.org

struts2值栈存取数据小结(使用ognl表达式)

前言:使用ognl和struts2标签库的时候要在 jsp页面 中 加入这么一行 <%@ taglib uri="/struts-tags" prefix="s" %> struts(统一格式): <action name="ognl" class="com.demo.test1.OnglAction" method="ognl1"> <result name="og

Struts2 interceptor使用经验小结

1. interceptor 调用Spring容器中的bean 在interceptor中常有需要调用Spring Bean的需要,其实很简单和Struts2的Action一样配置即可. Spring中的配置 <!--spring配置 -->1 <bean id="authorityInterceptor" class="com.xxx.interceptor.AuthorityInterceptor"/> 2 3 <bean id=&