Struts 2 笔记

最近正在学习Struts 2框架,遇到了不少问题,通过查阅资料,终于解决了。

首先,先提一下开发的环境:Eclipse EE Indigo Service Release 2, Tomcat 6.0, Struts 2.3.1.2, Java SE 6.0。

1. 创建工程

  环境搭建好了之后,就打开Eclipse,创建一个Web/Dynamic Web Project,并为其创建一个Tomcat的运行环境,如下图:

 

整个工程文件就此创建完毕。

2. 创建jsp文件

  这点需要注意,创建的jsp文件不能放在WebContent/META-INF或/WEB-INF目录下,只能放在WebContent根目录下或其他子目录(如jsp,href="jsp/???.jsp")下,否则将会出现404错误。

3. 引入Struts 2 所需要的jar包

  在Struts 2.3.1.2的 jar包当中,有5个是必须要引入的:commons-logging-1.1.1.jar,freemarker-2.3.18.jar,ognl- 3.0.3.jar,struts2-core-2.3.1.1.jar,xwork-core-2.3.1.1.jar。

  此外,还需要另外的4个jar包需要下载并引入:javassist-3.7.ga.jar,commons-io-2.1.jar,commons-lang-2.6.jar,commons-fileupload-1.2.2.jar

4. 创建action类

  在工程目录下的Java Resource/src目录建立一个POJO,并让其extends ActionSupport。在这个类里,写入需要的getter和setter,以及action方法。

5. 创建struts.xml文件

  在工程目录下的Java Resource/src目录建立struts.xml文件,为包,动作,结果等注册。注意,在包下的结果,若是采用了相对路径的写法,则会默认为与包的namespace同一个目录下。

6. 修改web.xml文件

  添加filter元素

  <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>
    </filter-mapping>

 

本人的一个Struts 2 的项目的目录结构图

struts.xml文件内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd" >
<struts>
    <constant name="struts.devMode" value="true" />
    <package name="userlogin" namespace="/user" extends="struts-default">
        <action name="user_login" class="com.eclipse.actions.UserLogin" method="execute">
            <result name="success">/a.jsp</result>
        </action>
    </package>
</struts>

在调用user_login这个动作时,只需要写<form action="user/user_login" method="post">就可以了,注意struts.xml文件中的result元素是/a.jsp。

你可能感兴趣的:(java,eclipse,struts,职场,2,休闲,ee)