struts2搭建

来源:互联网 发布:西安软件行业优惠 编辑:程序博客网 时间:2024/05/21 18:34
struts2框架搭建步骤:
1.到官网下载struts2包
2.在项目中加入struts2项目开发必须的基础jar包,一般来讲有13个jar包
3.在项目的web.xml中配置StrutsPrepareAndExecuteFilter过滤器
<filter>
     <filter-name>struts2</filter-name>
     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>


<filter-mapping>
     <filter-name>struts2</filter-name>
     <url-pattern>/*</url-pattern>
</filter-mapping>
4.在项目的src根目录下,创建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 name="default" extends="struts-default" namespace="/">
<action name="hello" class="com.HelloAction">
  <result name="success" tyle="redirect">/success.jsp</result>
</action>
  </package>
</struts>
5.编写Action处理类,一般继承ActionSuport
Action处理类是Struts2项目的控制器,一般放在action包下,全名一般以Action结尾




Action处理请求和响应:
1.jsp或其它操作发送一个请求
2.请求被struts.xml中相应的action的name来进行匹配,去找相应的Action进行处理
3.Action处理完后,返回一个标识符到struts.xml中
4.根据返回的标识符,响应一个jsp




struts2获取Servlet最方便的办法:
1.定义私有属性 HttpServletRequest request,ServletContext application;
2.action方法实现ServletRequestAware和ServletContextAware接口
3.提供公有的get()方法




OGNL(对象图表达语言)表达式:
1.引入<%@ taglib  uri="/struts-tags" prefix="s"%>标识
2.获取根对象值栈的值:<s:property value="msg"/>
3.获取域对象application,session,request,parameters的值:
<s:property value="#sesssion.user.uname"/>


struts.xml配置文件
1、package
*name:包的名字,一般以default命名
*extends:这个包要继承的包,以struts-default为值
一个包可以继承多个包,用逗号分隔。
*namespace:指定访问时的命名空间,值一般是/
2、include
 include是对项目的模块进行分工,每个模块单独开发,最后整合。
例:
  <struts>
<intclude file="one.xml></include>
<intclude file="two.xml></include>
  </struts>
3、action
name:action的引用名,用于匹配URI
class:action实现类的完整类名
method:执行action时的调用方法
action通配符映射实例:
<action name="users_*" class="action.UsersAction" method="{1}">
<result>/success.jsp</result>
<resutl name="error">/error.jsp</result>
</action>
users.action-------->execute(){}
users_list.action-------->list(){}
users_delete.action------->delete(){}
users_add.action---------->add(){}
4、result type
dispatcher:转发,默认值
redirect:重定向
redirectAction:可以重定向到Action ,无需加.action后缀
chain:转发到其他Action,无需加.action后缀
<result name="success" type="chain">hello</result>

<result name=" success " type="chain"> 
    <param name="namespace">/</param> 
    <param name="actionName">hello</param>  
</result>
5、global-results
当请求发生时,框架将在action中查找局部结果,如果不存在,
则在全局结果中查找。


<global-results>
    <result name="error">/error.jsp</result>
    <result name="login">/login.jsp</result>
</global-results>

















0 0