感谢各位给予批评和见解
开发环境JDK1.8,开发工具eclipse,Web容器tomcat9.0,数据库MySQL
从struts官网下载struts2 文件,我下的是struts-2.5.22,下好解压就是这个样子(推荐迅雷下载快一点)
1.导入jar包,配置web.xml文件
新建一个web工程,在lib文件夹下面导入如下jar包
在web.xml添加如下代码
<!-- 定义struts2的FilterDispatcher的filter -->
<filter>
<filter-name>Struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- 初始化struts2并处理所有web请求 -->
<filter-mapping>
<!-- 定义核心filter的名字,和上面的filter-name名字要完全一样 -->
<filter-name>Struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.配置struts.xml 及相关代码
代码里注释注意看下
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<!-- 上面的头,注意版本,从样例里复制过来 apps\struts2-showcase.war\WEB-INF\src\java\struts.xml -->
<struts>
<!-- 第1步:先定义一个包,名字任意取 并继承struts-default-->
<package name="mypack" extends="struts-default">
<!-- 第2步:定义一个action,配置跳转信息 name 类似于Servlet,这个name是浏览器要访问的name,很重要
http://xxxx/xxx/hello.action http://xxxx/xxx/hello
class的值:包名.类名
class对应于自己写的Action类 当不写method属性时,默认调用的是execute -->
<action name="login" class="com.cqie.ssh.action.UserAction">
<!-- 跳转是forward /WEB-INF/是防止jsp不经过action就可以访问 -->
<!-- success是从action类中return回的值,要与action类return值一样 -->
<!-- success.jsp表示要跳转的页面 -->
<result name="success">/WEB-INF/success.jsp</result>
<result name="fail">/WEB-INF/fail.jsp</result>
</action>
</package>
</struts>
1.login.jsp
<body>
<form action="login" method="post">
<table>
<tr>
<td>账号:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="登录"></td>
</tr>
</table>
</form>
</body>
2.UserAction.java
package com.cqie.ssh.action;
public class UserAction {
private String username;
private String password;
public String execute() {
if (username.equals("123") && password.equals("123")) {
return "success";
} else {
return "fail";
}
}
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;
}
}
3.fail.jsp&&success.jsp
成功失败页面就比较简单了,随便写点东西让自己知道跳转到哪儿去就好了