Struts2开发环境搭建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2开发环境搭建相关的知识,希望对你有一定的参考价值。

前言:很多时候我们只在意自己学到了多少,却不在意究竟学扎实了多少,当项目进行很久的时候发现很多基础知识忘得也差不多了,甚至连一个项目的搭建也会了,写下笔记供自己日后复习,也供大家参考和学习。

 

Struts2介绍

Struts2webwork2基础发展而来,与struts一样属于Mvc框架

struts1比较的优点:

1.         软件设计上不像struts1servletAPIstrutsAPI有着紧密的耦合,struts2的应用可以不依赖于servletAPIstrutsAPISturts2的这种设计属于无入侵式设计,sturts1属于入侵式的;

2.         Struts2提供了拦截器,通过拦截器进行aop编程,实现权限控制功能;

3.         Struts2提供了类型转换器,可以把特殊的参数类型转换为我们需要的类型,struts1中必须向底层BeanUtils注册类型转换器才行;

4.         Struts2支持多种表现层技术,如:jsp,freemarker,velocity等;

5.         Stuts2可对指定方法进行校验,stuts1的检验是对于action中的所有方法校验;

6.         提供了全局范围、包范围和action范围的国际化资源文件管理实现。

Struts2开发环境搭建

1.         找到struts2所需jar

1)         下载地址:http://struts.apache.org/download.cgi#struts25101

2)         Jar包版本选取方:http://jingyan.baidu.com/article/72ee561a6eac60e16038df7f.html

常用jar的介绍:

                         i.              struts2-core-2.5.10.1.jarstruts2框架核心类库

                       ii.              commons-fileupload-1.3.2.jar:文件上传组件

                      iii.              freemarker-2.3.23.jarstrutsUI组件模板使用freemarker编写

                      iv.              commons-lang3-3.4.jarASF出品的日志包,用来支持log4jjdk1.4+的日志记录

                       v.              ognl-3.1.12.jar:对象导航图语音,用于读写对象的属性

2.         编写struts2配置文件

通常我们很容易忘记struts2的配置文件的内容,可以由一下几种方法找到

1)         写好的项目中copy

2)         Struts2文档中copy

3)         struts2-core中寻找:将struts2-core解压后,找到 \\struts-2.5.10.1-min-lib\\struts-2.5.10.1\\lib\\struts2-core-2.5.10.1\\ struts-default.xml

技术分享

3.         web.xml加入struts2的启动项:同样可以在lib中找到相关配置

\\struts-2.5.10.1-all\\struts-2.5.10.1\\apps\\struts2-showcase\\struts2-showcase\\WEB-INF\\web.xml

技术分享

1)         StrutsPrepareAndExecuteFilterinit()会读取类路径下默认的配置文件struts.xml完成初始化操作

2)         Struts2读取到struts.xml后,以javaBenn的形式存放在内存中,以后struts2对用户的每次请求处理将使用内存数据,而不是每次读取struts.xml

Struts2配置文件属性解读

技术分享

1)         Package:用来管理包,与java类包相似,用于管理一组业务功能相关的action

2)         Package-name:配置包时必须配置那么属性,可任意取名,但必须唯一,若其他包要继承该包,必须通过该属性进行引用;

3)         Package-namespace:命名空间à作为该包下action访问路径的一部分,可不配置,默认为“”空字符串

4)         通常每个包都应该继承struts-default,struts2的很多核心功能都是通过拦截器实现,该包下定义了这些拦截器和result类型

5)         包还可以通过abstract定位为抽象包,抽象包不可定义action

Struts2.xml文件输入不提示设置

很多朋友在struts2配置文件中编写时,没有输入提示,这时候就需要检查你的网络是否连接好了

技术分享

此时我们可以收到给eclipse添加该dtd文件

1)         struts-2.5.10.1-all\\struts-2.5.10.1\\src\\core\\src\\main\\resources\\struts-2.5.dtd:

解压好的strtus2包中可以找到该dtd文件 

2)         preferences---->xml catalog---->

技术分享

Struts2action搜索顺序

1). 例如请求路径为:http://8080/test/path1/path2/path3/testAction

2). path3逐级往上搜索,直到test命名空间下找到testAction为止

3). 若命名空间下没有要找的action,会搜索默认命名空间“”

Action的默认值

1)         如果没有为action指定class,默认为ActionSupport

2)         如果没有为action指定methead,默认问execute()

3)         如果没有为action指定视图,默认为success

Result常用类型

1)         Result的配置类似于struts1forward

2)         浏览器重定向无法访问web-inf下的页:详情  http://ykyfendou.iteye.com/blog/2094317

3)         Result常用类型:dispatchredirectredirectActionplainText

技术分享

4)         中文转码与解码:

a)         URLEncoder.encode(strTest, "utf-8")

b)         URLDecoder.decode(strTest,"UTF-8");

5)         全视图:当前包下有多个action返回同一个页面

技术分享

 

以上是关于Struts2开发环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

Struts2开发环境搭建

Struts2开发环境搭建

Struts2环境搭建

使用Maven搭建Struts2框架的开发环境

struts2系列:struts2入门(struts2的产生struts2的工作流程搭建struts2开发环境)

struts2.3.24 + spring4.1.6 + hibernate4.3.11 + mysql5.5.25开发环境搭建及相关说明