前言

​ 好长时间没有写博客了,趁着国企期间的假期,把之前学的做个总结,国庆期间尽量多写一些。

正文

1.所需材料
  • idea版本 2020.1
  • struts2 版本 (我现在用的版本是拷贝我老师的,所以不知道具体是什么版本,反正最好不要用最新版本的,有很多坑)点我下载

2.直接开始上图

0tuUBR.png

按照上图顺序,选择左侧的Java Enterprise-->在右侧分别勾选Web Application、Struts2-->选择下方的Use library-->点击Create。


之后弹出如下界面,选中所需要的struts2包,点击ok

0tuwAx.png

创建项目完成之后,一次选择File-->Project Structure,或者直接Ctrl+Shift+Alt+S,弹出如下界面。

选择Artifacts-->展开右侧的commonTest(可能名字不一样),然后双击Struts2

0tuNu9.png

双击Struts2之后的效果如下所示,点击ok即可。

0tuaH1.png

web.xml配置如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <filter>
        <filter-name>struts2</filter-name>
          <filter-class>
             org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
          </filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

在web目录下新建index.jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <form action="test.action">
    <input type="text" name="userInput"><br>
    <input type="submit" value="确定">
  </form>
  </body>
</html>

新建success.jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
welcome!
</body>
</html>

新建fail.jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
fail!
</body>
</html>

src文件下新建一个java package,命名为testPackage,testPackage包下新建testAction.java,内容如下

package testPackage;

public class testAction {
    private String userInput;
    public String getUserInput(){
        return userInput;
    }
    public void setUserInput(String userInput){
        this.userInput=userInput;
    }
    public String Result(){
        if(userInput.equals("hello")){
            return "success";
        }
        return "fail";
    }
}


struts.xml配置如下

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>
    <package name="test" extends="struts-default">
        <action name="test" class="testPackage.testAction" method="Result">
            <result name="success">/welcome.jsp</result>
            <result name="fail">/fail.jsp</result>
        </action>
    </package>
</struts>

package name可以随意起,但不要重复; extens默认为struts-default,不要更改;

action name可以随意起,但不要重复; class为要用的Action的路径,这里是testPackage包下的testAction.java文件的意思,method是要用的方法。


点击运行就可以啦