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

Struts2入门~工作原理及访问Servlet API

2016-02-27 19:45 423 查看
一、Struts2工作原理



参考:

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