菜鸟学Struts2——HelloWorld

写在前面

自从工作后就过上了只有一个月记忆的生活,太健忘,很多学过的东西因为用得少便忘记了,第二次学习struts,为了以后便于查阅,开始自己的博客之旅。Struts的学习还是从Hello World开始。

资源下载

Stuts的官网地址:http://struts.apache.org/

Struts2.3.31的官方下载地址:http://mirrors.hust.edu.cn/apache/struts/2.3.31/struts-2.3.31-all.zip

将下载文件解压得到以下目前结构(一般用到最多的是docs和src这两部分):

菜鸟学Struts2——HelloWorld

其中doc中的guide便于查阅:

菜鸟学Struts2——HelloWorld

HelloWorld

使用Spring Tool Suite创建maven项目并在pom.xml引入struts依赖。
 <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency> <dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.31</version>
</dependency>
</dependencies>

查阅guide中的web.xml,在WEB-INF/web.xml加入struts过滤器

 <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>

Struts2.5之后过滤器的包调整到了父级:org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

Struts2.1.3之前使用的是另一个过滤器:org.apache.struts2.dispatcher.FilterDispatcher
 
创建自己的Action,Struts2允许一个普通的java类作为Action,没有绑定Servlet API
 package yaolin.core.action;

 public class PersonAction {

     public String index() {
return "index";
}
}

在src/main/resources中创建struts.xml

 <!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="person" extends="struts-default" namespace="/person">
<action name="person" class="yaolin.core.action.PersonAction" method="index">
<result name="index">/index.jsp</result>
</action>
</package>
</struts>
在webapps中创建index.jsp
 <html>
<body>
<h2>Hello World!</h2>
</body>
</html>

启动tomcat访问http://localhost/person/person.action,其中第一个"/person"是namespace指定的命名空间,第二个"/person"是action指定的name。

菜鸟学Struts2——HelloWorld

 至此,已完成自己的HelloWorld。
 未完,待续。
上一篇:[HeadFist-HTMLCSS学习笔记][第七章CSS入门:加一点样式]


下一篇:VS编译出现 HTTP 错误 403.14 - Forbidden 决绝办法