应用struts2的一个登陆小实例,Marker一下
来源:互联网 发布:windows qt安装包下载 编辑:程序博客网 时间:2024/06/06 10:50
struts2版本:2.3.15.3
在应用struts2时,
1)下载struts2版本,将其/lib下的以下jar文件拷贝到你所建项目的WEB-INF/lib目录下
struts2-core-2.3.15.3.jar
xwork-core-2.3.15.3.jar
commons-logging-1.1.3.jar
freemarker-2.3.19.jar
ognl-3.0.6.jar
2)在项目文件夹下新建三个jsp文件,分别为login.jsp、login_success.jsp、login_failure.jsp
login.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>login.jsp page</title>
</head>
<body>
<s:form action="LoginAction" namespace="/check">
<s:textfield name="uname" label="USER"></s:textfield>
<s:textfield name="upassword" label="PASSWORD"></s:textfield>
<s:submit value="SUBMIT"></s:submit>
</s:form>
</body>
</html>
login_success.jsp:
<html>
<head>
<title>成功登陆</title>
</head>
<body>
<h1>恭喜!登陆成功</h1>
</body>
</html>
login_failure.jsp:
<html>
<head>
<title>登陆失败</title>
</head>
<body>
不好意思,登陆失败!<h1><s:property value="sum" /></h1>
</body>
</html>
在login.jsp中使用了struts2标签库,<%@ taglib prefix="s" uri="/struts-tags"%>。表单中action="LoginAction"制定了当点击提交按钮后交给LoginAction这个类来处理。因此,现在我们来书写这个类LoginAction。
LoginAction.java:
package action;
import action.LoginCheck;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ActionContext;
public class LoginAction extends ActionSupport{
private String uname;
private String upassword;
public void setUname(String name){
this.uname = name;
}
public void setUpassword(String pwd){
this.upassword = pwd;
}
public String getUname(){
return this.uname;
}
public String getUpassword(){
return this.upassword;
}
public void validate(){
if(getUname()==null||"".equals(getUname().trim())){
this.addFieldError("uname","USERNAME is null!");
}
if(getUpassword()==null||"".equals(getUpassword().trim())){
this.addFieldError("upassword","PASSWORD is null!");
}
}
public String execute() throws Exception{
LoginCheck lc = new LoginCheck();
if(lc.isLogin(uname,upassword)){
ActionContext.getContext().getSession().put("login","true");
return "success";
}
else
return "error";
}
}
这里注意:LoginAction类继承自ActionSupport。所以前面得有improt导入相应的包。它有两个私有成员变量,他们的名称必须和login.jsp中表单中的两个textfield的name属性
一样,通过重写execute()方法,根据初始化一个LoginCheck类的实例,调用isLogin()方法返回一个字符串,成功是“success",失败是"failure"。下面是
LoginCheck.java:
package action;
public class LoginCheck{
public boolean isLogin(String uname,String upassword){
if(uname.equals("james")&&upassword.equals("1234"))
return true;
else return false;
}
}
那么如何根据返回的字符串来调用相应的页面呢,这就需要struts2.xml的配置了。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="login" extends="struts-default" namespace="/check">
<action name="LoginAction" class="action.LoginAction">
<result name="success">/login_success.jsp</result>
<result name="error">/login_failure.jsp</result>
<result name="input">/login.jsp</result>
</action>
</package>
</struts>
至此,完工。第一篇博客,写的毫无技术可言。只是单纯的把代码贴上,标记一下。
- 应用struts2的一个登陆小实例,Marker一下
- 做了一个辅助登陆vpn的小东东——总结一下
- 三大框架学习:Struts2简单入门(通过一个简单的登陆实例详解)
- Struts2-创建登陆实例
- Struts2简单登陆实例
- 用struts2+session写一个注册,登陆小程序
- 超炫的登陆小实例
- struts2学习笔记(1) 实现一个简单的struts2登陆
- struts2学习笔记(1) 实现一个简单的struts2登陆
- Struts2学习(二)---一个struts2的登陆例子
- 人生的一个小转折点,mark一下
- 自己的一个小练习,记录一下
- (flex)一个简单的flex登陆实例
- Play!framework一个登陆的小例子
- 登陆不了phpmyadmin的一个小问题
- 一个登陆过滤器的小例子
- 小程序marker callout 遇到的坑
- 从一个简单的小实例分析JSP+Servelt与JSP+Struts2框架的区别
- 人脸检测
- 无法打开包括文件:“dirent.h”
- 语音识别系统:有免费实用的"语音到文字"的软件么?
- 给java工程添加hession
- SQl获取某一字符出现次数
- 应用struts2的一个登陆小实例,Marker一下
- 如何创建并运行java线程
- 数据库_jdbc_改造MVC案例(登录注册)
- android计算器
- C++ 只声明该类为抽象类
- c、c++变量在64位机器和32位机器的区别
- QGIS编译
- C++文件读写详解(ofstream,ifstream,fstream)
- IOS沙盒机制和文件操作(1)