struts2框架+mysql,实现用户登录、注册功能
来源:互联网 发布:网络拓扑探测工具 编辑:程序博客网 时间:2024/06/05 14:50
一、Demo介绍
本Demo具体实现了以下功能:
1.基于struts2框架+MySQL数据库验证,实现了用户登录、注册功能。
2.用户注册时,分别使用客户端校验和服务器端校验两种校验方式,实现了对用户输入信息的校验,对不符合要求的信息,予以提示且不允许注册,需重新填写注册。
二、主要代码
1.login.jsp:该页面实现了一个Form表单中相应多个action,具体实现方法原理,请见http://blog.csdn.net/u012829611/article/details/70243230
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@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>用户登录</title></head><body background="images/xxx.gif"><center><script type="text/javascript"> function regist(){ myform.action="register.action"; myform.submit(); }</script><s:form action="login" method="post" name="myform"> <s:textfield name="username" label="用户名" cssStyle="width:160px;heigh:26px;"/> <s:password name="password" label="密码" cssStyle="width:160px;heigh:26px"/> <!-- <s:submit type="image" src="images/login.gif"/> <s:submit value="登录"/> --> <input type=submit value="登录"> <input type="button" value="注册" onclick="regist()"/></s:form></center></body></html>
2.LoginAction.java:登录action,用于对用户名、密码进行数据库验证
package com.cy.action;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;import com.cy.domain.User;import com.cy.service.UsersService;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport { private String username; private String password; private HttpServletRequest request; 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; } @Override public String execute() throws Exception { UsersService usersService=new UsersService(); User user=new User(); request=ServletActionContext.getRequest(); user.setUsername(username); user.setPassword(password); if(usersService.checkUser(user)!=null){ request.getSession().setAttribute("userInfo", user); return SUCCESS; }else{ return ERROR; } } public String register(){ return "regist"; }}
3.RegistAction.java:注册action,实现数据库中用户信息的添加操作,同时,对用户注册输入的信息进行了校验
package com.cy.action;import java.util.regex.Pattern;import com.cy.utils.SqlHelper;import com.opensymphony.xwork2.ActionSupport;public class RegistAction extends ActionSupport { private String username; private String password; private String ip="10.160.104.199"; 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; } @Override public String execute() throws Exception { String sql="insert into user(username,password,ip) values(?,?,?)"; String []paras={username,password,ip}; SqlHelper sqlHelper=new SqlHelper(); sqlHelper.executeUpdate(sql, paras); return SUCCESS; } //服务器端校验:重写struts2框架中的validate()函数,实现对用户注册时,输入信息的校验(推荐使用此方法) //客户端校验:在regist.jsp页面中使用script脚本实现校验(相关代码可查看regist.jsp页面) @Override public void validate() { if(username==null||"".equals(username.trim())){ this.addFieldError("username", "用户名不能为空!"); }else if(!Pattern.compile("^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$").matcher(username.trim()).matches()){ this.addFieldError("username", "用户名为学号!长度在5~20之间,且以字母开头!"); }else if(password==null||"".equals(password.trim())){ this.addFieldError("password", "密码不能为空!"); }else if(password.length()>20||password.length()<6){ this.addFieldError("password", "密码长度必须在6~20之间!"); } }}
4.用户输入信息错误提示截图:
5.数据库创建的SQL语句:数据库名为lms,表名为:user
create database lms;use lms;create table user(username char(20) primary key, password varchar(30), ip varchar(30) )charset=utf8;
三、说明
1.本文列出了部分主要代码,完整Demo可到
http://download.csdn.net/detail/u012829611/9819232 下载,解压后直接导入eclipse中即可运行。
2.上面主要代码中列出了数据库创建的SQL语句,输入即可创建数据库。
3.一个form表单中如何配置多个action?具体实现原理方法及代码详见http://blog.csdn.net/u012829611/article/details/70243230
4.在实现对数据库操作(连接、查询、添加、删除、修改)时,进行了很好的封装,代码通用率高,基本可以直接使用。
转载请注明!谢谢!
5 0
- struts2框架+mysql,实现用户登录、注册功能
- Struts2实现框架注册登录
- Struts2+Mybatis整合实现注册登录功能
- 注册登录功能实现struts2动态调用
- 用户注册与登录功能的实现
- Win10下用IDEA搭建Struts2+Spring4+Hibernate5(SSH)框架,实现用户登录注册
- Flask+MySql实现用户登录注册
- Java小程序之集合框架模拟数据库实现用户登录和注册功能
- Java小程序之集合框架模拟数据库实现用户登录和注册功能
- JFinal+MySql实现登录注册功能
- 利用SSH框架实现用户登录功能
- struts2连接数据库实现用户注册与登录
- 用户登录和注册功能
- 使用PHP实现用户登录和注册的功能
- 第4章 实现用户登录和注册功能
- PHP实现用户登录和注册的功能
- PHP实现用户登录和注册的功能
- 使用PHP实现用户登录和注册的功能
- [交易平台及行情软件] Zipline框架初探(上)
- Struts2拦截器精解
- hdu1236
- NumberChange
- 毫秒数转化为日期时间格式
- struts2框架+mysql,实现用户登录、注册功能
- 团体程序设计天梯赛-练习集 -- L2-022. 重排链表
- css 兼容性问题
- 算法设计与分析之分治法——棋盘覆盖
- 程序员的自我修养 链接、装载、与库——读书笔记
- Linux学习总结二
- 自考总结—学习方法
- 面向对象OOP
- 在 Swift 專案中使用 Javascript:編寫一個將 Markdown 轉為 HTML 的編輯器