您的位置:首页 > 编程语言 > Java开发

使用struts2框架搭建简单的登陆功能

2014-12-17 00:00 239 查看
三个页面:login.jsp error.jsp welcome.jsp

login.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!-- 引用struts2的标签库 -->
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title><s:text name="loginPage" /></title>
</head>
<body>
<s:form action="login">
<s:textfield name="username" key="user" />
<s:textfield name="password" key="pass"></s:textfield>
<s:submit key="login"/>
</s:form>
</body>
</html>

由于表单指定的action为login,所以我们还要自己定义一个处理类。

LoginAction.java

package sadhu;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
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为sadhu,password为sadhu时即登陆成功
System.out.println(getPassword());
if(getUsername().equals("sadhu") && getPassword().equals("sadhu"))
{
ActionContext.getContext().getSession().put("user",getUsername());
return SUCCESS;
}
else
{
return ERROR;
}
}
}

Struts 2的Action通常都应该继承ActionSupport基类。

写了之后还要在struts.xml中进行配置。在struts.xml中增加配置

<!-- 所有的Action定义都应该放在package下 -->
<package name="frank" extends="struts-default">
<action name="login" class="sadhu.LoginAction">
<!-- 定义三个逻辑视图和物理资源之间的映射 -->
<result name="input">/login.jsp</result>
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>

当配置完后重新运行就可以看到效果了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: