Struct2应用开发步骤
来源:互联网 发布:w7怎么禁止装软件 编辑:程序博客网 时间:2024/05/16 07:08
1、创建web应用project,将Struts2相关联库文件拷到web应用下WebRoot/WEB-INF/lib下,有如下一些commons-lang3-3.1.jar、commons-fileupload-1.3.1.jar、commons-io-2.2.jar、freemarker-2.3.19.jar、javassist-3.11.0.GA.jar、ognl-3.0.6.jar、struts2-core-2.3.16.3.jar、xwork-core-2.3.16.3.jar。
2、在web.xml文件中定义核心Filter来拦截用户请求。在web应用web.xml文件中添加如下配置:
<filter>
<filter-name>struct2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- Filter-mapping -->
<filter-mapping>
<filter-name>struct2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、定义包含表单数据的jsp,注意定义的jsp文件放在WebRoot/目录下
4、定义处理用户请求的Action类
注意Action类继承ActionSupport类,在Action类中可以重写execute方法,或者自定义方法(必须在struts.xml文件中添加"method=自定义方法")。
5、配置Action,也是配置struts.xml文件。注:struts文件最初定义在工程名/src/目录下,在MyEclipse下之后会自动复制到WEB-INF/classes路径下。
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="struts2" extends="struts-default">
<action name="login" class="org.lq.app.action.LoginAction">
<result name="success">/result.jsp</result>
<result name="login">/login.jsp</result>
</action>
</package>
</struts>Struts2中有5个static常量分别是:
ERROR INPUT LOGIN NONE SUCCESS
例如若在execute中返回的是return SUCCESS,则返回的是return "success"字符串。在struts.xml 中写上对应的“success”<result name="success">/x.jsp</result>注意1:ERROR对应的是"error"字符串,INPUT对应的是"input",LOGIN对应的是"login",NONE对应的是"none"。注意2:当某个包指定了命名空间后,该包下所有的Action处理的URL应该是命名空间+Action名。6、注意:在jsp页面使用struts标签时,注意需要在jsp文件中显示声明"<%@taglib prefix="s" uri="/struts-tags"%>"
7、若希望将页面处理结果信息在下一个页面输出,那么可以在Action类中增加一个tip属性,并为该属性提供对应的settter和getter方法,
一旦在Action中设置了tip属性的值,就可以在下一个页面中使用Struts2标签来输出该属性的值。在JSP页面中输出tip属性值的代码片段如下
:<s:property value="tip"/>
8、Action访问Servlet API
(1)Struts2提供了ActionContext类
1)Object get(Object key);
2)Map getApplication();
3)static ActionContext ggetContext();获取系统的ActionContext实例。
4)Map getParameters();
5)Map getSession();
6)setApplication(Map application);
7)void setSession(Map session)
(2)Action直接访问Servlet API
1)ServletContextAware接口:实现该接口的Action可直接访问Web应用的ServletContext实例。要求实现方法:public void setServl
etContext(ServletContext context);
2)ServletRequestAware接口:可直接访问用户请求的HttpServletRequest实例。要求实现方法:public void setServletRequest(Htt
pServletRequest request);
3)ServletResponseAware接口:可直接访问服务器响应的HttpServletResponse实例。仅要求实现方法:public void setServletResp
onse(HttpServletResponse response);但是即使获得了HttpServletResponse对象,也不要尝试直接在Action中对客户端生成响应。
(3)使用ServletActionContext访问Servlet API
1)static PageContext getPageContext():取得Web应用的PageContext对象。
2)static HttpServletRequest getRequest():取得Web应用的HttpServletRequest对象。
3)static HttpServletResponse getResponse():HttpServletResponse对象。
4)static ServletContext getServletContext():ServletContext对象。
9、struts2的异常处理机制是通过在struts.xml文件中配置<excepgion-mapping.../>元素完成。配置该元素时,需要指定如下两个属性。
exception:指定该异常映射所设置的异常类型。
result:此属性指定Action出现该异常时,系统返回result属性值对应的逻辑视图名。
根据<exception-mapping .../>元素出现位置的不同,异常映射又可分为如下两种。
局部异常映射:将<exception-mapping .../>元素作为<action .../>元素的子元素配置。
全局异常映射:将<exception-mapping .../>元素作为<global-exception-mappings>元素的子元素配置。
0 0
- Struct2应用开发步骤
- Struct2 配置 开发步骤
- 3.3Struct2(上午)的配置和在开发中的应用
- 移动应用开发步骤
- Struts2应用开发步骤
- Struts2应用开发步骤
- hibernate应用开发步骤
- Struct2
- struct2
- VxWorks应用开发基本步骤
- VxWorks应用开发基本步骤
- Struts2 应用的开发步骤
- Struts2应用的开发步骤
- Android应用的开发步骤
- DirectShow应用开发一般步骤
- 开发传感器应用的步骤
- 开发SpringMVC应用的步骤
- struct2为应用指定多个配置文件
- Android MTK平台源码环境下预置APK方法
- MYSQL建立外键失败几种情况记录Can't create table不能创建表
- 复习——线性表
- 浏览器缓存详解:expires,cache-control,last-modified,etag详细说明
- JAVA8 十大新特性详解
- Struct2应用开发步骤
- 汇编语言中的call指令
- 后缀自动机(最长公共子串、模板)spoj1811
- 写在2015年的第一天
- PL/SQL 数据类型和变量 -- BOOLEAN
- 挑剔的人生--迎接2015
- Java基础学习笔记1
- Mysql中关于Could not retrieve transation read-only status server
- Unity3D学习笔记之三Prefab组件的使用