Struts2入门~工作原理及访问Servlet API
2016-02-27 19:45
423 查看
一、Struts2工作原理
![](https://img-blog.csdn.net/20160227193749672)
参考:
http://blog.csdn.net/wuwenxiang91322/article/details/11070513
http://www.cnblogs.com/langtianya/archive/2013/04/09/3011090.html
http://blog.csdn.net/g_beginner/article/details/6791106
二、访问Servlet API
Struts2中Action的execute方法,不存在HttpServletRequest、HttpservletResponse,提供了3种方式访问Servlet API:ActionContext、实现xxAware接口、ServletActionContext。Struts2
相比 Struts1 而言,不用直接访问 Servlet API, 使得 Action 可以脱离 Web 容器进行测试。那么 Struts2 访问 Servlet API 有三种方式:
1,使用 ActionContext
在程序中使用 ActionContext ac = ActionContext.getContext(); 获取到ActionContext的一个实例,然后使用ac.put("key", "value");将信息返回给Web前端。但使用该方法需要在Action类中实现request参数的setter()和getter()方法。如:在表单提交的数据中有username参数,则需要有setUsername()和getUsername()方法.
2,使用 ***Aware 接口
将Action类实现该接口,然后通过该接口中的 setServletRequest(HttpServletRequest request) 方法获取到Servlet API。然后使用 request.setAttribute("key","value");将信息返回给Web前端.
3,使用 ServletActionContext 类
使用该方法可以直接通过调用该类中的静态方法获取到 Servlet API。如ServletActionContext.getRequest();
三、struts.properties文件说明
struts.il8n.encoding = GB2312
指定默认字符集,对于请求参数中有中文的情况应该设为GBK或GB2312,默认为UTF-8
struts.il8n.reload = true
是否每次http请求到达时都加载国际化资源文件,默认为flase
struts.configuration.xml.reload = true
struts.xml改动后,是否重新加载该文件。在开发阶段将此属性设置为true
struts.devMode = true
使用struts2开发模式,可以获得更多报错信息,便于调试。开发阶段设置为true
struts.serve.static.browserCache = true
设置浏览器是否缓存静态页面,开发阶段设置为flase
struts.action.extension = action,do,struts2
配置多个请求后缀可被struts2处理
struts.url.http.port = 8080
配置服务器端口号
附源代码: StrutsServlet.rar
参考:
http://blog.csdn.net/wuwenxiang91322/article/details/11070513
http://www.cnblogs.com/langtianya/archive/2013/04/09/3011090.html
http://blog.csdn.net/g_beginner/article/details/6791106
二、访问Servlet API
Struts2中Action的execute方法,不存在HttpServletRequest、HttpservletResponse,提供了3种方式访问Servlet API:ActionContext、实现xxAware接口、ServletActionContext。Struts2
相比 Struts1 而言,不用直接访问 Servlet API, 使得 Action 可以脱离 Web 容器进行测试。那么 Struts2 访问 Servlet API 有三种方式:
1,使用 ActionContext
在程序中使用 ActionContext ac = ActionContext.getContext(); 获取到ActionContext的一个实例,然后使用ac.put("key", "value");将信息返回给Web前端。但使用该方法需要在Action类中实现request参数的setter()和getter()方法。如:在表单提交的数据中有username参数,则需要有setUsername()和getUsername()方法.
2,使用 ***Aware 接口
将Action类实现该接口,然后通过该接口中的 setServletRequest(HttpServletRequest request) 方法获取到Servlet API。然后使用 request.setAttribute("key","value");将信息返回给Web前端.
3,使用 ServletActionContext 类
使用该方法可以直接通过调用该类中的静态方法获取到 Servlet API。如ServletActionContext.getRequest();
三、struts.properties文件说明
struts.il8n.encoding = GB2312
指定默认字符集,对于请求参数中有中文的情况应该设为GBK或GB2312,默认为UTF-8
struts.il8n.reload = true
是否每次http请求到达时都加载国际化资源文件,默认为flase
struts.configuration.xml.reload = true
struts.xml改动后,是否重新加载该文件。在开发阶段将此属性设置为true
struts.devMode = true
使用struts2开发模式,可以获得更多报错信息,便于调试。开发阶段设置为true
struts.serve.static.browserCache = true
设置浏览器是否缓存静态页面,开发阶段设置为flase
struts.action.extension = action,do,struts2
配置多个请求后缀可被struts2处理
struts.url.http.port = 8080
配置服务器端口号
附源代码: StrutsServlet.rar
相关文章推荐
- 白话Spring(基础篇)---helloworld
- java JDBC 数据库 事务 ACID
- Java之集合框架
- Struts2学习笔记之自定义转换器
- win10java环境配置
- Java生产者消费者程序模型
- RxJava转换操作符window
- java不用api实现单链表反转(二)
- 最大优先序列的java实现
- JAVA同时查看一个类的继承关系(Eclipse快键)
- java.lang.RuntimeException: Unable to instantiate activity ComponentInfo
- java的反射机制
- Java基础(移位,函数)
- eclipse常用操作技巧
- Java如何获取文件编码格式
- mac 安装maven 和改动java环境变量
- java 乱码问题-Dfile.encoding=UTF-8
- Java动态加载jar文件
- java中基本输入输出流的解释
- Java异常机制