Struts2学习笔记——001配置Strut2

本文详细介绍如何在MyEclipse10.0环境下配置Struts2-2.3.16.3版本,包括所需软件的下载链接及步骤说明。通过实例演示Struts2项目的创建过程,讲解开发模式配置与过滤器原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,软件版本介绍:MyEclipse10.0版本、tomcat6.0版本、Struts2-2.3.16.3版本。

可以从下面的网址中下载需要的的资源:

1.         下载struts2.1.6 http://struts.apache.org/download.cgi#struts217 (选择下载full distribution)

2.         下载myeclipse,http://www.myeclipseide.com

3.         下载tomcat,http://tomcat.apache.org

4.         下载xwork,http://www.opensymphony.com/xwork (要注意的是下载与struts2.1.6的对应版本,即2.1.2)

2,在Myeclipse中配置Struts2.

建立第一个struts2.1的程序

a)         找到struts目录下对应的apps目录

b)         解压struts2-blank-2.1.6.war

c)         Copy对应的lib的jar文件,需要除junit和spring-test之外的所有文件,其中commons-io的jar包会在文件上传和下载时需要,其他为必须

注意Xwork的jar文件也要拷贝,因为Struts2的核心是基于webwork的,所以必须加载xwork.jar文件。

d)         Copy对应的struts.xml到src目录,在package explorer视图进行操作

e)         注释掉struts.xml的多余内容

f)          建立HelloStruts2_1.jsp文件

g)         *修改jsp文件的默认编码属性window-preferences-web-jspfiles-设为Chinese,National Standard

h)         在struts.xml中照原配置进行对应的配置

i)           修改对应的web.xml,建立struts2的filter(参考struts自带的项目)

项目的部署和运行都和普通的Javaweb应用一致。

3,其他需要注意的地方:

(1)在struts.xml文件中加入:

<constant name="struts.devMode" value="true" />
devMode是指开发模式,好处是我们在修改了配置文件的时候能够自动热替换,不用再重新启动服务器。
(2)建立jar文件对应的源码,以及xwork对应的源码,以及对应的javaDoc.(方便在开发过程中查阅struts2相关的API文档)

Struts2:D:/programs/Tools/struts-2.3.16.3/src/core/src/main/java

xwork:  D:/programs/Tools/struts-2.3.16.3/src/xwork-core/src/main/java

JavaDoc:参考百度经验(http://jingyan.baidu.com/article/a65957f497fead24e67f9b0f.html

4、在地址栏中请求服务器资源的过程:

(1)在地址栏中输入url地址,浏览器会解析地址(http://blog.youkuaiyun.com/kongjunchao159/article/details/50828255),根据地址找到服务器,并将资源请求发送给Tomcat

(2)Tomcat接收到资源请求后,会查看url中请求的是哪一个应用的资源

(3)找到相应应用后,会使用在web.xml中定义的过滤器,doFilter()过程中,会使用struts.xml来找到请求的资源

(4)在struts.xml中,会先查找namespace,然后action,然后result

(5)找到被请求资源后,返回给客户端。

5、struts的作用就是把请求和视图相分开。

6、

<constant name="struts.devMode" value="true" /><!-- 开发者模式,实现配置后,自动热替换 -->
	 <package name="default" namespace="/" extends="struts-default"><!-- package用来区分重名的情况,用功能模块来命名。namespace必须用/开头,也用功能模块来命名。 -->
        <action name="hello">
            <result name="success"><!--name属性的值默认为success,当属性值为success时,可以不写。  -->
                /hello.jsp
            </result>
        </action>
    </package>
重点说一下namespace:namespace决定了action的访问路径,默认为" ",为空的情况下,可以接收所有路径下的action;

namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index.action,或者/xxx/yyy/index.action.

7、在MyEclipse中,复制项目的小细节:

复制好项目后,需要右键->"properties"->myeclipse->web,将Web Context-root的值改为"/新的项目名"。

然后重新部署到服务器上就可以了。

8、在MyEclipse中,导入别人项目的小细节:

左侧项目列表空白处右键->import->General->Existing Projects into Workspace->

然后就可以部署到server上了。最有可能出问题的地方就是jre路径的问题,可能需要重新配置一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值