深入Struts2学习(一)

Strtus2核心文件

web.xml
    任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置在web.xml文件中Servlet才会被应用加载。
    通常,所有的MVC框架都需要Web应用加载一个核心控制器,对于Struts2框架而言,需要加载StrutsPrepareAndExecuteFilter,只要Web应用负责加载StrutsPrepareAndExecuteFilter,StrutsPrepareAndExecuteFilter将会加载Struts2框架。
strtus.xml
    struts2的核心配置文件,在开发过程中利用率最高。
    该文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等。
    包含:
        1. 全局属性
        2. 用户请求和响应Action之间的对应关系
        3. Action可能用到的参数和返回结果
        4. 各种拦截器的配置
<?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">

<struts>
    <!-- include节点是struts2中组件化的方式, 可以将每个功能模块独立到一个xml配置文件,
                       然后用include节点引用  -->
	<include file="struts-default.xml"/>
	
	<!-- package提供了将多个Action组织为一个模块的方式
	    packege的名字必须是唯一的 package可以扩展
	    当一个package扩展自另一个package时,该package会在本身配置
	    的基础上加入扩展的package的配置, 父package必须在子package前配置
	    name:package名称
	    extends:继承的父package名称
	    abstract:设置package的属性为抽象 抽象的package不能定义action 值true:false
	    namespace:定义package命名空间 该命名空间影响url的地址,例如词命名空间为/test
	    那么访问的地址为http://localhost:8080/struts2/test/xx.action -->
    <package name="default" namespace="/" extends="struts-default">
		<interceptors>
		  <!-- 定义拦截器
		     name:拦截器名称
		     class:拦截器路径
		   -->
		   <interceptor name="timer" class="com.kay.timer"></interceptor>
		   <interceptor name="logger" class="com.kay.logger"></interceptor>
		   <!-- 定义拦截器栈 -->
		   <interceptor-stack name="mystack">
		     <interceptor-ref name="timer"></interceptor-ref>
		     <interceptor-ref name="logger"></interceptor-ref>
		   </interceptor-stack>
		</interceptors>
		
		<!-- 定义默认的拦截器 每个Action都会自动引用
		如果Action中引用了其它的拦截器  默认的拦截器将无效 -->
		<default-interceptor-ref name="mystack"></default-interceptor-ref>
		
		<!-- 全局results配置 -->
		<global-results>
		    <result name="input">/error.jsp</result>
		</global-results>
		
		<!-- Action配置一个Action可以被多次映射(只要action配置中的name不同)
		     name:action名称  http://localhost:8080/projectName/helloworld.action
		     class:对应的类路径
		     method:调用Action中的方法名 
		 -->
        <action name="helloworld" class="com.lijy.action.HelloAction">
            <!-- 引用拦截器
                 name:拦截器名称或拦截器栈名称 
             -->       
            <interceptor-ref name="timer"></interceptor-ref>
            
            <!-- 节点配置
                  name : result名称 和Action中返回的值相同
                  type : result类型 不写则选用superpackage的type struts-default.xml中默认的dispatcher
             -->
            <result name="success" type="dispatcher">/talk.jsp</result>
            
            <!-- 参数设置
                 name : 对应Action中的get/set方法 
             -->
            <param name="url">http://www.sina.com</param>
        </action>
    </package>
    <constant name="struts.il8n,reload" value="true"></constant>
</struts>
struts.properties
    struts2框架的全局属性文件,自动加载。
    该文件包含很多key-value对。、
    该文件完全可以配置在struts.xml文件中,使用constant元素。

#指定默认编码集,对于请求参数带有中文的情况,因该设置GBK或GB2312,默认值UTF-8
struts.i18n.encoding=GB2312
#是否每次HTTP请求到达时,都重新加载国际化资源文件,默认值false
struts.i18n.reload = true
#struts.xml改动后,是否重新加载该文件。在开发阶段建议将此属性设置为"true",提高开发效率,默认为false
struts.configuration.xml.reload=true
#是否使用Struts2的开发模式,可以获得更多报错信息,便于阅读,在开发阶段设置为true,默认为false
struts.devMode = true
#设置浏览器是否缓存静态页面,开发阶段设置为false,以获得服务器的最新响应,默认为true
struts.serve.static.browserCache=true
#制定后缀为.action形式的请求可被Struts2处理,可配置多个请求后缀,比如.do、.struts等,用逗号隔开
struts.action.extension=action,do,
#配置服务器运行时的端口号,一般情况下该属性不修改,如果端口号占用怎重新分配端口号.默认值80
struts.url.http.port = 80

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值