最近买了谢星星(阿蜜果)的企业应用架构设计-Struts2+Hibernate3+Spring2,想更好地学习与管理资料,现在在博客上写读书笔记,呵呵!
第3章 struts2配置文件
为了在web应用中加入Struts2,需要在web.xml中进行Struts2过滤器的设置。本章主要是讲web.xml的配置,包括Struts2过滤器的配置、标签库的设置、欢迎页面和错误页面的设置。
一. 配置web.xml
(1)加载FilterDispatcher
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<!--配置Struts2 框架的配置提供者类 -->
<init-param>
<param-name>configProviders</param-name>
<param-value>amigo.struts.config.MyConfigurationProvider</param-value>
</init-param>
<!--配置Struts2 默认加载的Action包结构 -->
<init-param>
<param-name>actionPackages</param-name>
<param-value>org.apache.struts2.showcase.person</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
说明:对于Struts2,web.xml中需要负责加裁FilterDispatcher,在配置FiliterDispatcher时,可以通过<init-param/>标签为Filter配置初始化参数,比较重要的参数是:
Config:该参数用于指定Struts2的系统配置文件。
configProviders:Struts框架的配置提供者类,如果开发人员需要指定自己的配置提供者类时,可以使用这个参数。
actionPackages:该参数用于设置默认加载的Action的包结构。
(2)使用welcome-file-list元素来配置欢迎界面,内容如下:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
(3)Error-page用于配团置错误界面,可以通过错误码来配置,内容如下:
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
</web-app>
二.配置struts.xml
1.创建struts.xml文件。
2.struts.xml的常用配置。
(1)<include>标签的使用
当工程比较大时,会使用struts.xml的配置过多,文件过于臃肿,此时为了增强可读性和更容易地维护配置信息,可将配置分模块或分功能放在不同的struts配置文件中,同时使用struts.xml中的<include>标签将其余的配置文件包括进来,具休例子如下:
其中struts-web.xml文件的内容如下所示:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="web" extends="struts-default">
<action name="userLogin" class="amigo.struts.chapter3.UserAction">
<result>main.jsp</result>
</action>
</package>
</struts>
Struts-backend.xml文件的内容如下所示:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="backend" extends="struts-default">
<action name="userManage" class="amigo.struts.chapter3.UserAction">
<result>userList.jsp</result>
</action>
</package>
</struts>
Struts.xml中使用了<include>标签,完整内容如下:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-web.xml"/>
<include file="Struts-backend.xml"/>
<package name="totalConfig" extends="struts-default">
</package>
</struts>
(2)<package>标签的使用
<package>标签类似于Java中的对象,它与Java中的对象一样可以包含多个文件,不过Java中的包是不可以继承的,而Struts中的包是可以继承的。
(3)<action>标签的使用
<action>标签用于将一个请求对应到一个Action处理上去,每当一个Action类匹配一个请求的时候,这个Action类就会被Struts2框架调用。
(4)<result>标签的使用
例1:全局<result>标签配置如下:
<struts>
<package name=”amigo” extends=”struts-deault”>
<global-result>
<result name=””success” >/success.jsp</result>
<result name=”error”>/error.jsp</result>
</global-result>
</package>
</struts>
(5)<param>标签的使用
<param>标签为<action>标签的子标签,它用于为action设置参数。例:
<!DOCTYPE struts PUBLIC “-//Apache Software Foundation//DTD Struts Configuration 2.0//EN” “http://struts.apache.org/dtds/struts2.0.dtd”>
<struts>
<package name=”amigo” extends=”struts-default”>
<action name=”userLogin” class=”amigo.struts.chapter3.userAction”>
<param name=”username”>amigo</param>
<param name=”password”>198211</param>
<result name=”loginSuccess”>/success.jsp</result>
</action>
</package>
</struts>
三.配置struts.properties
Struts.xml和struts.properites 为Struts2的两个核心配置文件,而struts.properties用于配置Struts框架的属性。
1创建struts.properties文 件
在struts-2.0.8-all\struts-2.0.8\src\core\src\test\resources 目录中的struts.properties文件中的struts.properties文件复制到工程的src目录中。
2.Struts.properties的常用配置
(1)sturts.i18n.encoding
该属性用于设置Web应用默认编码集,该属性对于处理中文请求参数很有作用。常用的设置有(UTF-8,GBK,GB2312)
(2)struts.locale
该属性用于指定Web应用的默认locale,即默认的国际化地区信息,例如:struts.locale=zh_CN
(3)struts.multipart.savaeDir
该属性用于指定上传文件的临时保存路径。
(4)struts.multipart.maxSize
该属性用于指定Struts2上传文件时请求内容允许的最大字节数。
(5)struts.custom.properties
该属性用于指定应用加载的用户自定义属性文件。
(6)struts.ui.templateDir
该属性用于指定视图主题所需要的模板文件存放的路径
(7)struts.custom.i18n.resources
该属性用于指定工程的国际化资源文件。
(8)struts.xslt.nocache
该属性用于指定XSLT Result是否使用样式缓存。
小结:
1. Web工程若加入Struts的MVC框架的支持,需要在web.xml中配置FilterDispatecher过滤,内容如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.若要为过滤器配置初始化参数,可在<filter/>元素中使用配置<init-param/>子元素,配置如直:
<init-param>
<param-name>参数名</param-name>
<param-value>参数值</param-value>
</init-param>
3. struts.xml的配置,主要是讲了<include>、<package>、<action>、<result>等的用法。
分享到:
相关推荐
使用Struts + Spring + Hibernate完成用户登陆笔记使用Struts + Spring + Hibernate完成用户登陆笔记
struts2+hibernate+spring三大框架知识点笔记
简单的SSH项目 使用spring+hibernate+struts2 有详细的创建项目笔记 代码配置都有注释
非常详细的SSH笔记,Struts2笔记+Hibernate3.6笔记+Spring3笔记,word文档,内容非常详细,可以直接看我的笔记就能轻松学会框架
Struts 2 + Spring 2.0 + Hibernate 3.0整合笔记.doc
使用Struts + Spring + Hibernate完成分页笔记使用Struts + Spring + Hibernate完成分页笔记使用Struts + Spring + Hibernate完成分页笔记
内涵数据库设计模型 和数据库设计代码! 图书管理系统: 数据库使用的mysql 里面的发送e-mail我用的是一个我申请的邮箱在测试 可以用自己的! 代码功能基本都有注释.... 才学完s2sh的入门笔记吧! 供学习使用........
轻量级J2EE企业应用实战--Struts+Spring+Hibernate整合开发笔记
NULL 博文链接:https://jsrookie.iteye.com/blog/294756
SSH整合学习笔记之struts2+spring+hibernate+c3p0源码
SSH开发笔记,特别适合入门者学习
spring+hibernate+jpa+struts1+struts2+springmvc+jquery+freemaker 学习笔记 Compass将lucene、Spring、Hibernate三者结合
struts+spring+hibernate配置笔记
SSH框架集成是较复杂和难理解的,只有在不断的练习和使用中才能慢慢的理解其中的原理,仅凭看视频是远远不够的,因为这些涉及了尤其是spring底层的好多类以及...本文只要是struts1+spring+hibernate(SSH1)集成问题。
留言管理程序_Struts + Spring + Hibernate笔记留言管理程序_Struts + Spring + Hibernate笔记
Struts 2 + Spring 2.0 + Hibernate 3.0整合笔记
Struts+Spring+Hibernate整合笔记
Struts+Spring+Hibernate整合笔记
Struts+spring+hibernate学习笔记! - Struts原理与实践
与本课件相关的源代码程序为Struts2Demo、Spring2Demo、Hibernate3Demo、Struts2Spring2Demo、Struts2Spring2Hibernate3Demo、SSHDemo项目。 本课件可以任意传播,但是不允许修改其内容;同时引用该课件的内容,请...