Struts第一个案例搭建
1.引入依赖
<dependency> <groupId>javaee</groupId> <artifactId>javaee-api</artifactId> <version>5</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.3.4.1</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.struts.xwork</groupId> <artifactId>xwork-core</artifactId> <version>2.3.4.1</version> </dependency>
2.配置web.xml
配置一个过滤器
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <filter> <filter-name>struts</filter-name> <!--这个filter-class就选StrutsPrepareAndExecuteFilter--> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <!--filter-mapping的name和filter的name同名, url-pattern /* 就可以 --> <filter-name>struts</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
3.创建一个Action类
注意这里导的包是xwork2的Action。 import com.opensymphony.xwork2.Action;
return对应 resources配置文件的result的name。可以写成别的, 但尽量写的规范一点。不然他会有警报的。
import com.opensymphony.xwork2.Action; public class MyStruts implements Action { @Override public String execute() throws Exception { System.out.println("GGGGGGGAAAAXXXXXXXXZZZZZCS"); return "success"; } }
4.配置helloword.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%--提交地址和resources的action的name对应--%>
<form action="HelloWord" method="post">
用户名:
<input type="text">
<input type="submit" value="提交">
</form>
</body>
</html>
5.配置resources 配置文件
<?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的作用是你修改配置的时候,不用重新启动项目。也会生效--> <constant name="struts.devMode" value="true"></constant> <package name="default" namespace="/" extends="struts-default"> <!-- Action name写的是你页面那个action提交的地址, class写的是你Action类--> <action name="HelloWord" class="MyStruts"> <!--result 的 name写的是 你Action类的方法的返回值 , 这个页面是 你最终跳到那个页面--> <result name="success">/index.jsp</result> </action> </package> </struts>