(1)建立一个web 工程名为:strutsDemo,功能模拟用户登录。在工程名上点击右键,选择弹出菜
单“MyEclipse”->“Project Facets [Capabilites]”-> “Install Apache Struts(2.x) Facet”添加对Struts 的支持
(如图1)。在弹出的对话框中(图2)选择合适的“Target Runtime”(Web 服务器),点击“next”打开Struts
的控制配置(图3),选择:URL pattern 为:/*
然后点击“Finish”按钮,完成struts2 支持的添加。
图 1
图 2
图 3
(2)编写视图文件
login.jsp——登陆页面,表单代码如下:
<body>
<form action="loginAction" method="post">
用户名:<input name="uname"><br />
口令:<input name="upasswd" type="password"><br />
<input type="submit" value="登录">
</form>
</body>
success.jsp——登陆成功页面,正文区内容:
<body>
欢迎${uname},你已成功登录系统。
</body>
error.jsp——登陆失败页面,正文区内容:
<body>
用户名或密码有误,请<a href="login.jsp">重新登录</a>
</body>
(3)编写Action
创建一个普通 Java 类——LoginAction.java,所在包:actions,内容如下:
package actions;
import com.opensymphony.xwork2.Action;
public class LoginAction {
private String uname;//对应用登录表单的 uname 文本域
private String upasswd;//对应用登录表单的 upasswd 密码域
/**
* Struts 控制器默认调用 Action 的方法
* @return 字符串,根据此值在配置文件中定义相应的视图
*/
public String execute(){
if("john".equals(uname)&&"123456".equals(upasswd)){
return Action.SUCCESS; //返回 Action 预定义的常量,值为 “success”
}else{
return "fail";//返回自定义值,表示登录失败
}
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUname() {
return uname;
}
public void setUpasswd(String upasswd) {
this.upasswd = upasswd;
}
public String getUpasswd() {
return upasswd;
}
}
(4)编辑 struts.xml 配置 Action,在<struts></struts>直接添加如下配置:
<package name="demo" extends="struts-default" namespace="/">
<action name="loginAction" class="actions.LoginAction">
<result>/success.jsp</result>
<result name="fail">/error.jsp</result>
</action>
</package>
(5)部署后访问,查看结果。
整体结构如下:
运行效果:
如果想学习基于注解的Action,请点击链接:
https://blog.csdn.net/weixin_43042683/article/details/103182493