用户登陆案例:
-
新建web项目
-
导入相关jar包
-
配置web.xml--配置struts2的核心过滤器
<pre>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
</pre> -
在src编写struts.xml
-
编写login.jsp
<pre>
<form action="login.action" method="post">
用户名:<input type="text" name="name" />
密码:<input type="text" name="pwd" />
<input type="submit" value="登陆" />
</form>
</pre>
注:action的提交地址:action是扩展名,默认为action;action的扩展名和web.xml中配置的struts2的核心过滤器相匹配,也就是说如果表单中提交的地址以.action结尾,那么在配置filter的url-patten时,<url-pattern>*.action</url-pattern>;第三步和第五步红色的代码。
- 编写LoginAction类
<pre>
public class LoginAction {
private String name;
private String pwd;
public String execute() {
if("bjsxt".equals(name) && "123".equals(pwd)) {
return "success";
}else {
return "failed";
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
</pre>
注:LoginAction中的属性名和表单元素的名称要一致。第五步橙色和第六步橙色代码。并且为属性提供get/set方法。Struts2自动将用户提交的表单数据设置到LoginAction的对应属性上,并且在jsp中可以直接获取,不用手动向request设置。
- 在struts.xml中配置LoginAction
<pre>
<struts>
<package name="user" extends="struts-default">
<action name="login" class="com.bjsxt.action.LoginAction">
<result name="success">/index.jsp</result>
<result name="failed">/login.jsp</result>
</action>
</package>
</struts>
</pre> - 访问
http://localhost:8080/02_0725_struts2_login/login.jsp
结果:
Paste_Image.png
网友评论