Struts第一个案例搭建

时间:2021-05-28 19:51:03

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>