`
Candy_Code
  • 浏览: 13917 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

01--初识struts2以及myeclipse配置技巧

阅读更多

第一章 认识struts2

1.0 什么是struts2:
官网中对于struts是这样描述的:
Apache Struts 2 was originally known as WebWork 2. After working independently for several years, the WebWork and Struts communities joined forces to create Struts2.
原文大意为: Apache Struts 2即是之前大家所熟知的WebWork 2。在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,就成了Struts 2。

struts 官方网站:http://struts.apache.org/
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开。
因而struts2与struts的差别较大,不能错误的认为struts2是struts的升级版本。
目前最新版本为2.3.1.2。以下是该版本的完整包下载地址:
http://labs.mop.com/apache-mirror//struts/binaries/struts-2.3.1.2-all.zip

1.1 新建项目
①创建struts.xml ,放置于WEB-INF\classes目录下

<struts>
     <constant name="struts.devMode" value="true" />
	 	<package name="default" namespace="/" extends="struts-default">
        <action name="hello">
            <result>/hello.jsp
            </result>
        </action>
     </package>
</struts>


一般情况都从struts-default继承。因为在struts-default.xml对称为struts-default的package对于struts2的核心功能做了详尽的配置,我们从它继承可以免去很多繁琐的配置,并且可以使用struts-default中配置的所有功能。
②WEB-INF/lib中放入所需类库
在struts的lib目录下,拥有struts2定义的所有类库,一般我们并不会用到全部的类库,我们只需要其中的一部分,然而我们在开发之前又不能确定到底需要哪些包,方便起见,可以
将Struts-2.3.1.2\apps\struts2-blank\WEB-INF\lib下面的全部jar file拷到your app\WEB-INF\lib下面,这是基本的类库。
③配置web.xml
<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> <!—过滤根目录下所有的action-->
 </filter-mapping>
关于web.xml的详细配置,请猛击:http://candy-code.iteye.com/blog/1442334

1.2 配置MyEclipse

a. 查看类库代码及文档 :
在MyEclipse中选中该jar文件,右键->property->java source attachment = …./struts2.1.2/src/core/src/main/java
Javadoc Location = …../struts2.1.2/docs/apidocs
b.  structs.xml 编辑时的自动提示
window—>preference—>XML catalog—>add
location = …./struts2.0/lib/struts2-core-2.1.6/struts2.0.dtd
key type = URI
key = http://struts.apache.org/dtds/struts-2.0.dtd
c.  struts.xml 开发模式

       
<constant name="struts.devMode" value="true" />


这样tomcat可以动态感知struts.xml的变化。这样我们只修改struts.xml的情况下就可以不用重新部署项目,但是对于java文件的更改,还是不敏感,需要重新部署。
d. 管理webapp
指定项目根目录,它是访问应用程序的入口。右击项目->property->myEclipse->Web
->Web Context-root
Web-root folder:项目中用于存放页面的根目录
1.3 struts工作原理
浏览器的请求交给服务器程序(如Tomcat)去处理,服务器程序会读取相应的webapp 的web.xml,web.xml对于filter的配置决定了,用户请求的所有请求都交给
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter(2.0.x至2.1.2版本是FilterDispatcher)去处理,然后请求会被过滤器链层层过滤,若请求成功,才能成功访问action,action返回一个字符串,struts2会根据这个返回值寻找相应的页面。


分享到:
评论
1 楼 thewebofnature 2013-09-18  
写的很好!

相关推荐

Global site tag (gtag.js) - Google Analytics