structs2框架学习一(启动过程和各种配置)

一.自定义的struts.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">
<struts>
	<!--
	package:代表一个包,用于管理action ,一个包下不能有同名action
	name:包名,在一个项目中不能有同名的包,一个项目中一个模块一个包或者小项目中前后台分别一个包
	extents:继承,类似于类的继承,如果一个包继承另一个包,那么会把父包的功能继承下来,(我们写的struts.xml中包必须继承默认包struts-default)
	namespace;名称空间,区分不同包的访问路径,默认为”/“
		用户访问action路径索索规则:
		若输入:http://localhost:8080/项目名称/user/a/b/c/login.action
		会先搜索:http://localhost:8080/项目名称/user/a/b/c/login.action若没有
		会继续搜索:http://localhost:8080/项目名称/user/a/b/login.action若没有
		会搜索:http://localhost:8080/项目名称/user/a/login.action知道找到匹配项
	abstract:用于表示当前包是否抽象,若为抽象则不能放入action子标签(若包中不做具体逻辑业务,如只是声明拦截器等那就可以设为抽象包)
	-->
	<package name="xxx" extends="struts-default" namespace="/name" abstract="true">
		<!--
		配置action:http://localhost:8080/项目名称/login.action
		1.
			name:action的名称,用于访问此antion的路径
			class:action业务对象的类名(包名+类名),struts2使用反射构造Action对象
			method:执行的业务方法,默认为execute
		2.result标签的配置
			name:视图的标记,在一个action中名称不要重复
			type:跳转类型
				redirect:重定向
				dispatcher:转发
				redirectAction:重定向到action
				chain:转发到action,可以在不同action中用request共享数据
					ServletActionContext.getRequest().setAttribute("","");放入
				stream:用于下载文件的时候
				文本内容:跳转的页面或者antion
		-->
		<action name="login" class="com.study.action.LoginAction" >
			<result  name="success" type="redirect">/index.jsp</result>
		</action>
	</package>
</struts>

注意:structs.xml中的package各个模块可以分出来放入不同的.xml文件中,只需要在主struts.xml中加入<include file="包名/xxx.xml"></include>即可(注:若两个package中出现完全相同的action则先导入(include)的先执行)

二.web.xml中配置启动struts2核心过滤器

<filter>
        <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

三.项目启动过程

1)创建核心过滤器对象
2)执行过滤器的init方法依次读取三个xml文件
struts-default:默认配置文件
struts-plugin:插件配置文件(如文件io等)
struts:自己写的业务配置
3)在内存中查询相应的action配置,得到class内容,创建action对象、
5)读取action中的method内容,执行action对象对应的方法

四.struts2中action使用的三种方式

1.直接写public class UserAction{} 不实现任何接口和继承任何类
缺点:没有规则和统一规范,里面的方法随意写
2.实现Action类pu

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值