您的位置:首页 > 编程语言 > Java开发

struts2搭建

2015-06-09 23:42 176 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: