目录
1、创建maven项目
2、配置tomcat
如果上一步没有可选,则:
上面URL改为/xyz,然后启动:http://localhost:8080/xyz/
3、配置maven
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.13</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.20.0-GA</version>
</dependency>
4、配置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 xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
<!-- 定义Struts2的核心Filter -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- 让Struts2的核心Filter拦截所有请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
5、添加java、resources文件夹
之后在main文件夹下创建
java文件夹
resources文件夹
还要定义文件夹类型:
java文件夹选择Sources Root
resources文件夹选择 Resources Root
会自动出现:
6、编写action、配置struts.xml
public class HelloAction implements Action {
@Override
public String execute() throws Exception {
System.out.println("hello action");
return SUCCESS;
}
}
public class HelloAction2 {
public String Hello2() {
System.out.println("Hello2 Sucess");
return "success";
}
}
public class HelloAction3 extends ActionSupport {
//定义封装请求参数的username和password属性
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
//定义处理用户请求的execute方法
public String execute() throws Exception {
//当username为wbb,password为wbb时即登录成功
if (getUsername().equals("admin") && getPassword().equals("123456")) {
ActionContext.getContext().getSession().put("user", getUsername());
return "success";
} else {
return "error";
}
}
}
<?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>
<!-- 指定全局国际化资源文件 -->
<constant name="struts.custom.i18n.resources" value="mess"/>
<!-- 指定国际化编码所使用的字符集 -->
<constant name="struts.i18n.encoding" value="GBK"/>
<!--指定constant的name为devMode表示处于开发模式,value=true修改配置文件内容自动热替换而不需要每次重新发布-->
<constant name="struts.devMode" value="true"/>
<!-- 所有的Action定义都应该放在package下,Struts2中通过package来管理action,这里的包名name并不对应java类中的包 -->
<package name="hello" extends="struts-default">
<action name="hello" class="com.steven.HelloAction">
<result name="success">/index.jsp</result>
</action>
<action name="hello2" class="com.steven.HelloAction2" method="Hello2">
<result name="success">/index.jsp</result>
</action>
<action name="hello3" class="com.steven.HelloAction3">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
7、错误解决