JAVAWEB系统登陆注册界面关键代码
1)登录页面验证用户名、密码不能为空。 2)注册页面验证:
用户名只能由数字和字母组成 密码只能由数字或字母组成,长度为 6~12 位,两次密码必须相同 邮箱、电话、邮编格式必须正确 4.在各个文本框之后(提示关键词:innerHTML)或者使用小窗口(提示关键词:alert) 弹出相应的错误信息
<tr><td width="120" height="1"><li>通讯管理</li></td></tr>
<tr><td width="120" height="1" ><ul><li>通讯录管理</li></ul></td>></tr>
<tr><td width="120" height="1"><ul><li>短消息管理</li></ul></td></tr>
欢迎(首页)界面: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort
/*用户名只能由数字或字母组成*/ function User(){
var value = document.getElementById("user").value; var curretuser = /^[A-Za-z0-9]+$/; if(curretuser.test(value)){
}else{ window.alert("请输入字母或者数字!!!"); } } /*密码只能由数字或字母组成,长度为6~12位*/ function Password(){ var value = document.getElementById("password").value; var curretuser = /^[A-Za-z0-9]{6,12}$/;
</head>
<body>
<img src="images/lab0401.png" width="1350" height="100" >
<table cellpadding="5" cellspacing="0" border="0" bgcolor="#D3D3D3" >
<tr><td width="120" height="1"><li>首页面</li></td>
if(value==value1){
}else{ window.alert("两次输入的密码必须一样!!!"); } }
邮箱格式必须正确 function Email(){
var value = document.getElementById("email").value; var value1 = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; if(value1.test(value)){
<tr><td width="120" height="1"><li>个人管理</li></td><td></td></tr>
<tr><td width="120" height="1" ><ul><li>日程安排</li></ul></td></tr>
<tr><td width="120" height="1"><ul><li>工作记录</li></ul></td></tr>
<tr><td width="120" height="1"><li>企业管理</li></td><td> </td></tr>
<tr><td width="120" height="1"><ul><li>公司公告</li></ul></td></tr>
<tr><td width="120" height="1"><ul><li>工作会议</li></ul></td></tr>
color="#FF00FF">没账号?去注册</font> </a> </td> <td><input name="button" type="button" value="登录" onClick="User(),Password(),Checknumber()"/> </td> </tr>
</table> </div>
if(value1.test(value)){
}else{ window.alert("电话号码格式错误!!!"); } } 邮编书写符合规范 function Code(){ var value = document.getElementById("code").value; var value1 = /^\d{6}$/; if(value1.test(value)){
Reserved</td> </tr>
</table> </div>
</body> </html>
}else{ window.alert("邮箱格式错误!!!"); } 电话号码必须符合规范 function Phone(){ var value = document.getElementById("phone").value; var value1 = /^\d{3,4}\-?\d{8}$/;
if(curretuser.test(value)){
}else{ window.alert("错误!密码只能由数字或字母组成,长度为6-12位!!!"); } } /*两次密码必须一样*/ function TestPassword(){ var value = document.getElementById("password").value; var value1 = document.getElementById("password2").value;
}else{ window.alert("邮编格式错误!!!"); } }
Login(登录)页面: <style type="text/css"> .container {width: 400px;height: 400px;position:relative;} .B {position: absolute; top: 130px ; left: 200px ; bottom: 250px; right: 100px; } </style> <body bgcolor="#52BDFE">
<tr><td width="120" height="1"><li>退出</li></td></tr>
</table>
<div class="dqwz">
<table>
<p>当前位置:首页面
<a href="login02.jsp">【退出】</a></p>
</table>
</div>
<div class="welcome"> <table> <img src="images/lab0403.PNG"> </table>
java用户登录界面的代码
java用户登录界面的代码以下是一个简单的Java用户登录界面的代码示例,其中包括了GUI界面设计和用户验证的代码:```javaimport javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.JPasswordField;import javax.swing.JButton;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;public class LoginWindow extends JFrame implements ActionListener {private JLabel usernameLabel, passwordLabel;private JTextField usernameTextField;private JPasswordField passwordField;private JButton loginButton;public LoginWindow() {setTitle("用户登录");setSize(400, 200);setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);usernameLabel = new JLabel("用户名:");passwordLabel = new JLabel("密码:");usernameTextField = new JTextField();passwordField = new JPasswordField();loginButton = new JButton("登录");loginButton.addActionListener(this);setLayout(null);usernameLabel.setBounds(50, 30, 80, 25);passwordLabel.setBounds(50, 70, 80, 25);usernameTextField.setBounds(130, 30, 200, 25);passwordField.setBounds(130, 70, 200, 25);loginButton.setBounds(150, 120, 100, 25);add(usernameLabel);add(passwordLabel);add(usernameTextField);add(passwordField);add(loginButton);setVisible(true);}public void actionPerformed(ActionEvent e) {String username = usernameTextField.getText();String password = newString(passwordField.getPassword());if (isValidUser(username, password)) {System.out.println("用户登录成功!");// 在这里可以跳转到下一个界面} else {System.out.println("用户名或密码错误!");}}private boolean isValidUser(String username, String password) {// 在这里实现用户验证的代码// 比如查询数据库是否有该用户并且密码是否匹配等等// 如果验证成功则返回true,否则返回falsereturn false;}public static void main(String[] args) {new LoginWindow();}}```该代码创建了一个窗口界面,包括“用户名”和“密码”两个文本框,以及一个“登录”按钮。
JAVA web用户登录完整代码
java action:LoginForm form=(LoginForm)actionForm;ActionMessages errors = new ActionMessages();System.out.println(";form.getAction()=";+form.getAction());if (";login";.equals(form.getAction())) {System.out.println(";----------------login--------------";);AuthCodeCookie authCodeCookie = new AuthCodeCookie(request,response);if (!authCodeCookie.getAuthCode().equals(form.getAuthCode())) {//验证码不正确errors.add(";error.login.authcode";, new ActionMessage(";error.login.authcode";));this.saveErrors(request, errors);return mapping.getInputForward();}User user = this.getUserService().get(form.getUserId());if(user==null){errors.add(";er";, new ActionMessage(";er";));this.saveErrors(request, errors);return mapping.getInputForward();}Util util = new Util();if(!util.hash(form.getPassword()).equals(user.getPassword())){errors.add(";error.login.password";, new ActionMessage(";error.login.password";));this.saveErrors(request, errors);return mapping.getInputForward();}// 一旦登录成功,创建sessionHttpSession session = request.getSession();UserSession userSession = new UserSession();userSession.setUser(user);session.setAttribute(ER_SESSION_KEY, userSession);//把UserSession传递到下个页面// 并且修改用户登录时间,登录次数+1user.setLastLoginDate(Util.getCurrentDate(";yyyyMMdd hhmmss";));user.setLoginTimes(Integer.valueOf(user.getLoginTimes().intValue()+1));this.getUserService().update(user);System.out.println(";----------------------------------------------------";) ;// // 获取用户对应的系统应用菜单List allModuleList = this.getModuleService().getModuleTree(Integer.parseInt(user.getMenuLevel()));//0代表根菜单// List allModuleList = this.getModuleService().getModuleTree(1);//0代表主菜单// System.out.println(";allModuleList.size=";+allModuleList.size()); // for(int i=0;i<;allModuleList.size();i++){//System.out.println(";";+((Module)allModuleList.get(i)).getModuleName());// }Iterator menu = allModuleList.iterator();Vector parentV = new Vector();Vector childV = new Vector();Module m;while (menu.hasNext()) {m = (Module) menu.next();if(user.getPermission().indexOf(";[";+m.getId()+";]";)!=-1){if (m.getParentId().intValue() == 0) {parentV.add(m);} else {childV.add(m);}}}request.getSession().setAttribute(";parentVector";, parentV);request.getSession().setAttribute(";childVector";, childV);System.out.println(";初始化完毕";);return mapping.findForward(";userPanel";);}jsp:<;%@ page contentType=";text/html;charset=UTF-8";%>;<;%@ taglib uri=";/WEB-INF/struts-bean.tld"; prefix=";bean";%>;<;%@ taglib uri=";/WEB-INF/struts-html.tld"; prefix=";html";%>;<;%@ taglib uri=";/WEB-INF/struts-logic.tld"; prefix=";logic";%>;<;jsp:useBean id=";user_session"; scope=";session";type=";erSession"; />;<;%er user = null;if (user_session != null)user = user_session.getUser();//根据权限获得菜单,这里权限用Telephone替代一下先String str = user.getTelephone();%>;<;html>;<;head>;<;meta http-equiv=";Content-Type"; content=";text/html; charset=UTF-8";>;<;title>;LEFT<;/title>;<;link rel=";stylesheet"; href=";css/style.css"; type=";text/css";>;<;script language=";JavaScript";>;<;!--function doExit(){if (confirm(";您确定要退出帐单门户系统吗?";)){window.open(";login.portal?action=logout";,";_parent";,";";);}}//-->;<;/script>;<;script language=";JavaScript";>;var w=200;function closenavi() {w-=200;if (w>;-10) {window.parent.testframeset.cols = ''+w+',*';repeat=setTimeout(";closenavi()";,10);}else {clearTimeout(repeat);w=200;}}function loginOutPage() {document.forms[1].SIGN_OFF.click();}function initIt(){divCount = document.all.tags(";DIV";);for (i=0; i<;divCount.length; i++) {obj = divCount(i);if (obj.className == ";child"; || obj.className == ";child1";) obj.style.display = ";none";;}}function expandIt(el) {obj = eval(";page"; + el);obj2 = eval(";main"; + el);if (obj.style.display == ";none";) {obj.style.display = ";block";;}else {obj.style.display = ";none";;}}onload = initIt;var judge=0;function expandall(o) {if (judge==0) {divCount2 = document.all.tags(";DIV";);for (i=0; i<;divCount2.length; i++) {obj2 = divCount2(i);if (obj2.className == ";child"; || obj.className == ";child1"; || obj2.style.display == ";none";){obj2.style.display = ";block";;}if (obj2.className == ";menu";){//obj2.all.tags('img')[0].src='images/treeimg/tminus.gif';obj2.all.tags('img')[0].src='images/openfolder1.gif';}}judge=1;o.src='images/icon-closeall.gif';o.alt='全部折叠';}else {divCount2 = document.all.tags(";DIV";);for (i=0; i<;divCount2.length; i++) {obj2 = divCount2(i);if (obj2.className == ";child"; || obj.className == ";child1"; || obj2.style.display == ";block";){obj2.style.display = ";none";;}if (obj2.className == ";menu";){obj2.all.tags('img')[0].src='images/folder1.gif';}}judge=0;o.src='images/icon-expandall.gif';o.alt='全部展开';}}function quit(form) {window.close()}function loginOutPage() {document.forms[0].SIGN_OFF.click();}<;/script>;<;/head>;<;body bgcolor=";#D8DADA"; class=";bodyTop";>;<;center>;<;table width=";161"; border=";0"; cellspacing=";0"; cellpadding=";0";>;<;tr>;<;td>;<;table style=";margin-top: 10px; margin-bottom: 10px"; width=";138";border=";0"; align=";center"; cellpadding=";0"; cellspacing=";0";>;<;tr>;<;td>;<;img src=";images/001.jpg"; width=";138"; height=";6";>;<;/td>;<;/tr>;<;tr>;<;td class=";msBack";>;<;table width=";130"; border=";0"; align=";center"; cellpadding=";3";cellspacing=";0";>;<;tr>;<;td width=";19";>;<;img src=";images/em44.gif"; width=";19"; height=";19";>;<;/td>;<;td class=";message";>;您有新的帐单信息<;/td>;<;/tr>;<;tr>;<;td>;<;img src=";images/em44.gif"; width=";19"; height=";19";>;<;/td>;<;td class=";message";>;您有新的支付信息<;/td>;<;/tr>;<;/table>;<;/td>;<;/tr>;<;tr>;<;td>;<;img src=";images/002.jpg"; width=";138"; height=";6";>;<;/td>;<;/tr>;<;/table>;<;/td>;<;/tr>;<;/table>;<;logic:iterate id=";module"; name=";parentVector";type=";com.worthtech.billportal.bean.Module";indexId=";index";>;<;%int i = ((ng.Integer) pageContext.findAttribute(";index";)).intValue();%>;<;div id=<;%=";main"; + i%>; class=";title";onClick=";expandIt(<;%=";"; + i%>;); return false";>;<;%if(str.indexOf(";[";+module.getId()+";]";)!=-1){%>;<;table class=";TableLeftTop"; style=";margin-top: 10px"; width=";138";border=";0"; cellspacing=";0"; cellpadding=";4";>;<;tr>;<;td background=";images/LeftMenuBack.jpg";>;<;div align=";center";>;<;%=module.getModuleName()%>;<;/div>;<;/td>;<;/tr>;<;/table>;<;%}%>;<;/div>;<;div id=<;%=";page"; + i%>; class=";child";>;<;table class=";TableLeftView"; width=";170"; border=";0"; cellspacing=";0";cellpadding=";0";>;<;logic:iterate id=";childModule"; name=";childVector";type=";com.worthtech.billportal.bean.Module";>;<;%if(str.indexOf(";[";+childModule.getId()+";]";)!=-1&;&;childModule.getParent ID().intValue()==module.getId().intValue()){%>;<;tr>;<;td width=";44";>;<;div align=";right";>;<;img src=";images/t.gif"; width=";19"; height=";20";>;<;/div>;<;/td>;<;td width=";161";>;<;a href=<;%=childModule.getActionURL()%>; target=";mainFrame";>;<;%=childModule.getModuleName()%>;<;/a>;<;/td>;<;/tr>;<;%}%>;<;/logic:iterate>;<;/table>;<;/div>;<;/logic:iterate>;<;table style=";margin-top: 10px"; width=";161"; border=";0";cellspacing=";0"; cellpadding=";2";>;<;tr>;<;td>;<;table width=";141"; border=";0"; align=";center"; cellpadding=";2";cellspacing=";0";>;<;tr>;<;td>;<;div align=";center";>;<;a href=";#"; onclick=";doExit();";>;<;imgsrc=";images/ico01.gif";width=";65"; height=";15"; border=";0";class=";MouseOver";>; <;/a>;<;/div>;<;/td>;<;td>;<;div align=";center";>;<;ahref=";user.portal?action=password";target=";mainFrame";>;<;imgclass=";MouseOver";src=";images/ico02.gif";width=";65"; height=";15"; border=";0";>;<;/a>;<;/div>;<;/td>;<;/tr>;<;/table>;<;/td>;<;/tr>;<;/table>;<;/center>;<;/body>;<;/html>;。
Java实现简单GUI登录和注册界面
Java实现简单GUI登录和注册界⾯本⽂实例为⼤家分享了Java实现简单GUI登录和注册界⾯的具体代码,供⼤家参考,具体内容如下先看效果图:登陆界⾯:注册界⾯:实现代码如下:⼀、登陆界⾯package cn.bms.view;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.border.MatteBorder;import cn.bms.tools.GUITools;/** 登录窗⼝*/@SuppressWarnings("serial")public class AdminLogin extends JFrame {private JPanel contentPanel = new JPanel();// Label标签存放背景图⽚private JLabel label;// 设置按钮组件private JButton login = new JButton("登录"), register = new JButton("注册");private JLabel jlb1 = new JLabel("⽤户名:"), jlb2 = new JLabel("密码:"), jlbtitle = new JLabel("登录界⾯");// 设置⽂本框组件private JTextField admin = new JTextField(), password = new JTextField();public AdminLogin() {this.init();this.addListener();}private void init() {this.setTitle("管理员登陆界⾯");this.setSize(500, 350);GUITools.center(this);ImageIcon image1 = new ImageIcon("837878.jpg"); // 界⾯背景图⽚JLabel backLabel = new JLabel();backLabel.setIcon(image1);label = new JLabel(image1);label.setBounds(0, 0, 1000, 400);// 在LayeredPane最底层上添加两个带图⽚的标签,并且label2在label上⽅this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));// 将内容⾯板设置为透明,就能够看见添加在LayeredPane上的背景。
javaWeb项目实现简单的登录注册
JavaWeb项目实现登录注册一.电脑,eclipse,tomcat,mysql数据库数据库连接架包二.项目开始1.打开eclipse创建一个新的JavaWeb项目,将下载的数据库连接架包放到WebContent 目录下的WEB-INFO中的lib下,右键加入构建路劲。
2.在WebContent下新建一个login.jsp的登录页面代码如下:<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%String path = request.getContextPath();//获取项目名String basePath = request.getScheme() + "://" + request.getServerName() + ":"+ request.getServerPort() + path + "/"; //项目的绝对路径%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><base href="<%=basePath%>"><!--可以在所有获取静态资源地方自动加上根路径,这样就一定能获取到静态资源了 --><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>登录页面</title><link rel="stylesheet"type="text/css"href="css/bootstrap.css"/><script type="text/javascript"src="js/jquery-3.4.1.js"></script></head><body style="background-color: #ccc"><center><h1>登录页面</h1><font color="blue">${message}</font><font color="red"id="info"></font><form class="form-inline"action="<%=basePath%>UserServlet?infos=login"method="post"><div class="form-group"><label for="exampleInputName2">账号</label><input type="text"class="form-control"name="username"id="username"placeholder="请输入账号"> </div><br/><div class="form-group"><label for="exampleInputEmail2">密码</label><input type="password"class="form-control" name="password"id="password"placeholder="请输入密码"> </div><br/><input type="submit"value="立即登录"class="btn btn-default"></form><a href="<%=basePath%>register.jsp">没有注册?去注册</a></center></body></html>3.创建注册界面register.jsp代码如下:<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%String path = request.getContextPath();//获取项目名String basePath = request.getScheme() + "://" + request.getServerName() + ":"+ request.getServerPort() + path + "/"; //项目的绝对路径%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><base href="<%=basePath%>"><!--可以在所有获取静态资源地方自动加上根路径,这样就一定能获取到静态资源了 --><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>登录页面</title><link rel="stylesheet"type="text/css"href="css/bootstrap.css"/><body style="background-color: #ccc"><center><h1>注册页面</h1><font color="blue"><ahref="<%=basePath%>login.jsp">${message}</a></font> <font color="red"id="info"></font><form class="form-inline"action="<%=basePath%>UserServlet?infos=register" method="post"><div class="form-group"><label for="exampleInputName2">账号</label><input type="text"class="form-control" name="username"id="username"placeholder="请输入账号"> </div><br/><div class="form-group"><label for="exampleInputEmail2">密码</label><input type="password"class="form-control" name="password"id="password"placeholder="请输入密码"> </div><br/><div class="form-group"><label for="exampleInputEmail2">确认密码<input type="password"class="form-control" name="codepassword"id="codepassword"placeholder="请输入密码"></div><br/><input type="submit"value="立即注册"class="btn btn-default"></form></center></body></html>4.创建登录成功的界面,系界面需要显示出登录成功用户的信息,包括账户和密码代码如下:<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%String path = request.getContextPath();//获取项目名String basePath = request.getScheme() + "://" + request.getServerName() + ":"+ request.getServerPort() + path + "/"; //项目的绝对路径%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><base href="<%=basePath%>"><!--可以在所有获取静态资源地方自动加上根路径,这样就一定能获取到静态资源了 --><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>主页面</title><script type="text/javascript"src="js/jquery-3.4.1.js"></script></head><body style="background-color: #ccc"><center><label>${ername}</label><br><label>${user.password}</label><br></center></body></html>5.编写数据库配置文件JDBC. propertiesdriver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/pc(数据库名字)username=root(数据库账户)password=root(数据库密码)6.创建数据库连接工具代码如下:package com.fs.ss.utils; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; importjava.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties;public class DBConMysql {static Properties p = null; public final static DBConMysql dbm = new DBConMysql();private DBConMysql(){}public static DBConMysql getDbm(){return dbm;}static{InputStream in= DBConMysql.class.getClassLoader().getResourceAsStream("JDBC.pr operties");p = new Properties();try {p.load(in);} catch (IOException e) {e.printStackTrace();}finally {try {in.close();} catch (IOException e) {e.printStackTrace();}}}public Connection getCon(){try {Class.forName(p.getProperty(" driver"));Connection con;try {con = DriverManager.getConnection(p.g etProperty("url"),p.getProperty("username"),p.getProperty("password"));return con;} catch (SQLException e) {e.printStackTrace();}} catch (ClassNotFoundException e) {e.printStackTrace();}return null;}public static void main(String[] args) {System.out.println(DBConMysql .getDbm().getCon());}public void closeStatement(Statement st){ try {if(st!=null){st.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public voidclosePreparedStatement(Prepared Statement ps){try {if(ps!=null){ps.close();}} catch (SQLException e) {e.printStackTrace();}}public void closeResultSet(ResultSet rs){ try {if(rs!=null){rs.close();}} catch (SQLException e) {e.printStackTrace();}}}可以运行测试是否连接上了数据库,连接成功会在控制台打印出数据库连接字符串7.完成数据库操作和实现注册登录功能User代码:package com.fs.ss.model;import java.io.Serializable;public class implements Serializable{private String username;private String password;public User(){}public User(String username,String password){ ername = username;this.password = password;}public String getUsername() {return username;}public void setUsername(String username) {ername = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return"User [username="+ username+ ", password=" + password + "]";}}UserDao代码:package com.fs.ss.dao;import java.sql.Connection; importjava.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List;import er; importcom.fs.ss.utils.DBConMysql; public class UserDao { Connection con = DBConMysql.getDbm().getCon();PreparedStatement ps = null; Statement sm = null; ResultSet rs = null;/*** 插入数据* @param user* @return*/public int insertUser(User user){try {con.setAutoCommit(false);ps = con.prepareStatement("insert into user values(?,?)");ps.setString(1,user.getUsername());ps.setString(2,user.getPassword());int i = ps.executeUpdate();mit();return i;} catch (SQLException e) {try {con.rollback();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}finally{if(ps!=null){ DBConMysql.getDbm().closePrep aredStatement(ps);}}return 0;}/*** 查询所有用户信息* @return*/public List<User> queryAllUsers(){ArrayList<User> users = new ArrayList<>();try {sm = con.createStatement();rs = sm.executeQuery("select * from user");while(rs.next()){User user = new User(rs.getString(1),rs.getString(2));users.add(user);}return users;} catch (SQLException e) {e.printStackTrace();}finally {if(sm!=null){ DBConMysql.getDbm().closeStat ement(sm);}}return null;}/*** 按username来查询用户* @param username* @return*/public User queryUserByUsername(String username) {try {ps = con.prepareStatement("select * from user where username=?");ps.setString(1, username);rs = ps.executeQuery();if(rs.next()){User user = new User(rs.getString(1),rs.getString(2));return user;}else{return null;}} catch (SQLException e) {e.printStackTrace();}finally {if(ps!=null){ DBConMysql.getDbm().closePrep aredStatement(ps);}}return null;}}UserService代码:package com.fs.ss.service; import erDao; import er; public class UserService { UserDao userDao = new UserDao(); public UserqueryByUsername(String username) {// TODO Auto-generated method stubreturnuserDao.queryUserByUsername(use rname);}public int insertUsername(User user) {// TODO Auto-generated method stubreturnuserDao.insertUser(user);}}UserServlet代码:package com.fs.ss.service; import erDao;import er; public class UserService { UserDao userDao = new UserDao(); public User queryByUsername(String username) {// TODO Auto-generated method stubreturnuserDao.queryUserByUsername(use rname);}public int insertUsername(User user) {// TODO Auto-generated method stubreturnuserDao.insertUser(user);}}UserServlet代码:package com.fs.ss.controller;import java.io.IOException; import java.io.PrintWriter; import java.util.List;importjavax.servlet.ServletException; importjavax.servlet.annotation.WebSer vlet;importjavax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletR equest;importjavax.servlet.http.HttpServletResponse;import er; importerService; @WebServlet("/UserServlet") public class UserServlet extends HttpServlet{/** */private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //设置编码req.setCharacterEncoding("utf -8");resp.setContentType("text/htm l;charset=utf-8");//拿到方法String infos = req.getParameter("infos");UserService userService = new UserService();/*** 登录*/if(infos.equals("login")){//拿到输入框的值String username = req.getParameter("username");String password = req.getParameter("password");User user = userService.queryByUsername(use rname);//判断输入框的值与注册的是否匹配if(user.getUsername().equals( username) && user.getPassword().equals(passw ord)){//账户和密码匹配//将用户信息存储到请求头,方便再成功页面显示用户信息req.setAttribute("user",user) ;//重定向到success.jsp页面req.getRequestDispatcher("/in dex.jsp").forward(req, resp);}else{if(user.getUsername()==null){//用户不存在req.setAttribute("message","用户不存在!");req.getRequestDispatcher("/lo gin.jsp").forward(req, resp);}elseif(!user.getPassword().equals(p assword)){//密码不匹配req.setAttribute("message","密码错误!");req.getRequestDispatcher("/lo gin.jsp").forward(req, resp);}}}/*** 注册*/if(infos.equals("register")){ //拿到输入框的值String username = req.getParameter("username");String password = req.getParameter("password");String codepassword = req.getParameter("codepassword" );if(codepassword.equals(passwo rd)){User user = new User(username,password);int i =userService.insertUsername(user );req.setAttribute("message","注册成功!请登录");req.getRequestDispatcher("/re gister.jsp").forward(req, resp);}else{req.setAttribute("message","注册失败!");req.getRequestDispatcher("/re gister.jsp").forward(req, resp);}}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException { doGet(req, resp);}}三.运行项目,在浏览器中访问项目效果图:这是登录页面,先点击注册进行注册一个账号,我们以0000,0000为例这是注册界面,输入账号,密码,确认密码后点击注册提示注册成功,请登录信息说明注册完成,点击回到登录页面输入用户,密码,登录登录成功显示用户信息到此,我们简单的注册登录已经完成。
用java写一个登陆注册界面代码
用java写一个登陆注册界面代码Java程序如下:importjava.awt.GridLayout;importjava.awt.event.ActionEvent; importjava.awt.event.ActionListener;importjava.util.ArrayList;importjava.util.List;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPasswordField;importjavax.swing.JTextField;//登录窗体类publicclassMainextendsJFrameimplementsActionListener,Runnab le{privatestaticfinallongserialVersionUID=1L;protectedJLabellblPrompt,lblTime,lblUserName,lblPassword ;protectedJTextFieldtxtUserName;protectedJPasswordFieldtxtPassword;protectedJButtonbtnLogin,btnRegister;protectedstaticThreadthread=null; publicstaticvoidmain(String[]args){Data.init();MainfrmLogin=newMain();thread=newThread(frmLogin);thread.start();}publicMain(){super(用户登录);initComponent();}//初始化控件publicvoidinitComponent(){lblPrompt=newJLabel(登录剩余时间(秒):);lblTime=newJLabel(60);lblUserName=newJLabel(用户名:);lblPassword=newJLabel(密码:);txtUserName=newJTextField(10);txtPassword=newJPasswordField(10);btnLogin=newJButton(登录);btnRegister=newJButton(注册);btnLogin.addActionListener(this);btnRegister.addActionListener(this);this.setLayout(newGridLayout(4,2));this.add(lblPrompt);this.add(lblTime);this.add(lblUserName);this.add(txtUserName);this.add(lblPassword);this.add(txtPassword);this.add(btnLogin);this.add(btnRegister);txtUserName.setFocusable(true);this.setSize(400,200);this.setVisible(true);}@OverridepublicvoidactionPerformed(ActionEvente){JButtonbtn=(JButton)e.getSource();if(btn==btnLogin){if(txtUserName.getText().equals()||txtUserName.getText() .trim().equals()){JOptionPane.showMessageDialog(this,用户名不能为空!,登录失败,JOptionPane.ERROR_MESSAGE);return;}if(txtPassword.getText().equals()){JOptionPane.showMessageDialog(this,登录密码不能为空!,登录失败,JOptionPane.ERROR_MESSAGE);return;}StringuserName=null;Stringpassword=null;userName=txtUserName.getText().trim();password=txtPassword.getText();inti;for(i=0;iData.customers.size();i++){if(Data.customers.get(i).getUserName().equals(userName)& amp;&Data.customers.get(i).getPassword().equals(passwor d)){break;}}if(iData.customers.size()){JOptionPane.showMessageDialog(this,欢迎您,+userName,登录成功,RMATION_MESSAGE);}else{JOptionPane.showMessageDialog(this,登录失败,请检查用户名和密码是否正确......,登录失败,JOptionPane.ERROR_MESSAGE);}}elseif(btn==btnRegister){this.dispose();newRegister();}}@Overridepublicvoidrun(){while(true){try{Thread.sleep(1000);intnum=Integer.valueOf(lblTime.getText());if(num=0){JOptionPane.showMessageDialog(this,时间到,窗口即将关闭!,登录失败,RMATION_MESSAGE);System.exit(0);}else{num--;}lblTime.setText(String.valueOf(num));}catch(Exceptione){e.printStackTrace();}}}}//用户注册窗体类classRegisterextendsJFrameimplementsActionListener{ privatestaticfinallongserialVersionUID=1L;protectedJLabellblUserName,lblPassword,lblConfirmedPassw ord;protectedJTextFieldtxtUserName;protectedJPasswordFieldtxtPassword,txtConfirmedPassword;protectedJButtonbtnRegister,btnReset;publicRegister(){super(用户注册);initComponent();}//初始化控件publicvoidinitComponent(){lblUserName=newJLabel(用户名:);lblPassword=newJLabel(密码:);lblConfirmedPassword=newJLabel(确认密码:);txtUserName=newJTextField(10);txtPassword=newJPasswordField(10);txtConfirmedPassword=newJPasswordField(10);btnReset=newJButton(重置);btnRegister=newJButton(注册);btnReset.addActionListener(this);btnRegister.addActionListener(this);this.setLayout(newGridLayout(4,2));this.add(lblUserName);this.add(txtUserName);this.add(lblPassword);this.add(txtPassword);this.add(lblConfirmedPassword);this.add(txtConfirmedPassword);this.add(btnRegister);this.add(btnReset);txtUserName.setFocusable(true);this.setSize(400,200);this.setVisible(true);}@OverridepublicvoidactionPerformed(ActionEvente){JButtonbtn=(JButton)e.getSource();if(btn==btnRegister){if(txtUserName.getText().equals()||txtUserName.getText() .trim().equals()){JOptionPane.showMessageDialog(this,用户名不能为空!,注册失败,JOptionPane.ERROR_MESSAGE);return;}if(txtPassword.getText().equals()){JOptionPane.showMessageDialog(this,登录密码不能为空!,注册失败,JOptionPane.ERROR_MESSAGE);return;}if(txtConfirmedPassword.getText().equals()){JOptionPane.showMessageDialog(this,确证密码不能为空!,注册失败,JOptionPane.ERROR_MESSAGE);return;}if(!txtConfirmedPassword.getText().equals(txtPassword.ge tText())){JOptionPane.showMessageDialog(this,两次密码必须一致!,注册失败,JOptionPane.ERROR_MESSAGE);return;}StringuserName=null;Stringpassword=null;inti;userName=txtUserName.getText().trim();password=txtPassword.getText();for(i=0;iData.customers.size();i++){if(Data.customers.get(i).getUserName().equals(userName)) {break;}}if(iData.customers.size()){JOptionPane.showMessageDialog(this,该用户名已经被注册,请选用其他用户名!,注册失败,JOptionPane.ERROR_MESSAGE);}else{Data.customers.add(newCustomer(userName,password));JOptionPane.showMessageDialog(this,恭喜+userName+注册成功,请牢记您的用户名和密码。
java关于Login的源代码
java关于Login的源代码下面是一个简单的Java登录系统的示例代码:javaimport java.util.HashMap;import java.util.Map;import java.util.Scanner;public class LoginSystem {private static Map users = new HashMap<>public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 注册用户registerUser("admin", "admin123");registerUser("user", "user123");// 登录boolean loggedIn = false;while (!loggedIn) {System.out.println("请输入用户名:");String username = scanner.nextLineSystem.out.println("请输入密码:");String password = scanner.nextLineloggedIn = login(username, password);if (!loggedIn) {System.out.println("用户名或密码错误,请重新输入。
");}}System.out.println("登录成功!");}private static void registerUser(String username, String password) { users.put(username, password);}private static boolean login(String username, String password) {if (users.containsKey(username) &&users.get(username).equals(password)) {return true;}return false;}}这个登录系统使用一个HashMap来存储用户名和密码。
注册登录页面代码相关
</tr>
<tr><td><input type=submit value=确认>
</td></tr>
</table>
</form>
<form action="register.jsp">
<input type=submit value=注册>
<h1>
登录成功,欢迎您!
</h1><%=trans(session.getAttribute("userid1"))%>
</body>
</html>
Statement stmt=con.createStatement();
String sql="select * from userinfo where userid='"+userid1+"';";
ResultSet rs=stmt.executeQuery(sql);
if(rs.next())
}
else
{response.sendRedirect("login.jsp");
}
}
else
{response.sendRedirect("login.jsp");
}
%>
登陆页面:
javaWeb登录注册页面
javaWeb登录注册页⾯简单的登陆注册页⾯1.配置JDBC驱动连接数据库2. 配置struts2框架3. 利⽤1 2完成登录页⾯,注意做到不耦合,即servlet Api和控制器完全脱离)4. 利⽤1 2 制作注册页⾯,判断数据库是否存在注册账号,若存在,则提⽰账号存在,不存在则跳转注册成功页⾯创建项⽬命名为chapter04 找到下载好的JDBC驱动jar⽂件复制粘贴到WebRoot-WEB-INF下的lib⽂件夹下,如图2配置struts2框架在⽹上下载struts2框架,打开struts2⽂件夹中的lib找到如下的jar⽂件同样复制到WebRoot-WEB-INF下的lib⽂件夹下接下来在web.xml中配置前端控制器,具体代码如下<filter><filter-name>struts2</filter-name><filter-class> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>最后在Struts.xml中配置Action分发给对应的JSP 代码如下<struts><constant name="struts.devMode" value="true"></constant><package name="loginpkg" extends="struts-default" namespace="/"><action name="succes" class="loginAction.login" method="logins"><result name="succes">/succes.jsp</result><result name="defeat">/defeat.jsp</result></action><action name="register" class="loginAction.register" method="registers"><result name="succes">/index.jsp</result><result name="defeat">/defeat.jsp</result></action></package></struts>JSP页⾯的有 index.jsp register.jsp defeat.jsp success.jsp对应分别是⾸页注册页⾯失败跳转页⾯成功登录页⾯这⾥只介绍index.jsp界⾯,其他⽐较简单⾃⼰写 index.jsp代码如下<body><form action="/chapter04/succes">⽤户:<input name="name" style="margin-left:10px;"><br>密码:<input name="password" style="margin-left:10px;"><br><input type="submit" value="登录" style="position: absolute; left: 50px; top:60px;"></form><a style="position: absolute; left: 110px; top:60px;" href='/chapter04/register.jsp' >注册</a></body>在src下创建⼀个包名为jdbcDAO ,在包内创建名为Conn的jdbc连接数据库类,代码如下;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class Conn {public static Connection con;public static Connection getconnection() {try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}String url="jdbc:mysql://127.0.0.1:3306/userdb?characterEncoding=utf8";String user="root";String password="123456";try {con=DriverManager.getConnection(url, user, password);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return con}新建查询数据库功能类 read 代码如下package jdbcDAO;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import com.mysql.jdbc.PreparedStatement;public class read {public static boolean isCheck(String name,String password){Connection con=Conn.getconnection();String sql="select * from user";PreparedStatement ps=null;ResultSet rs=null;try {ps=(PreparedStatement) con.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){String name1=rs.getString("name");String password1=rs.getString("password");if(name1.equals(name)&&password1.equals(password)){return true;}}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return false;}public static boolean isCheck1(String name){Connection con=Conn.getconnection();String sql="select * from user";PreparedStatement ps=null;ResultSet rs=null;try {ps=(PreparedStatement) con.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){String name1=rs.getString("name");if(name1.equals(name)){return true;}}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return false;}}创建添加⽤户功能类 Add代码如下package jdbcDAO;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import com.mysql.jdbc.PreparedStatement;public class Add {public static boolean Adds(String name,String password){Connection con=Conn.getconnection();boolean falg=false;PreparedStatement ps=null;String sql="insert into user(name,password)values(?,?)";try {ps=(PreparedStatement) con.prepareStatement(sql);ps.setString(1, name);ps.setString(2, password);int i=ps.executeUpdate();if(i==1){falg=true;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return falg;创建longAction包在longAction包中创建两个类login和register类login类代码如下package loginAction;import java.io.PrintWriter;import java.util.HashMap;import java.util.Map;import javax.servlet.Servlet;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.config.entities.ActionConfig; import jdbcDAO.read;import er;public class login extends ActionSupport {private String name;private String password;private boolean falg=false;private static final long serialVersionUID = 1L;public String logins(){ServletActionContext sac=null;name=sac.getRequest().getParameter("name");password=sac.getRequest().getParameter("password");falg=read.isCheck(name, password);if(falg){return "succes";}else{return "defeat";}}}Register类代码如下package loginAction;import org.apache.struts2.ServletActionContext;import jdbcDAO.Add;import jdbcDAO.read;public class register {private boolean falg=false;private String name;private String password;public String registers(){ServletActionContext sac=null;name=sac.getRequest().getParameter("name");password=sac.getRequest().getParameter("password");falg=read.isCheck1(name); //真if(!falg){falg=Add.Adds(name, password);if(falg){return "succes";}else{return "defeat";}}else{return "defeat";}}}。
JavaWeb实现简单登录、注册功能
JavaWeb实现简单登录、注册功能1.⾸先创建⼀个简单的动态Javaweb项⽬2.然后⼿动建⽴⽂件⽬录:项⽬创建好之后,在src下建⼏个包:controller:控制器,负责转发请求,对请求进⾏处理,主要存放servlet;dao:数据库管理,主要是写数据库操作⽅法;model:存放实体类;service:业务逻辑的处理;util:存放⼯具类,在这⾥我主要是把数据库加载驱动和创⽴连接、关闭连接封装成了⼀个静态类。
ps:别忘了在lib⽂件夹⾥放⼊这个jar包,⽤以连接数据库。
3.下⾯直接贴上对应的代码:src代码:1package com.maike.controller;23import java.io.IOException;4import javax.servlet.ServletException;5import javax.servlet.annotation.WebServlet;6import javax.servlet.http.HttpServlet;7import javax.servlet.http.HttpServletRequest;8import javax.servlet.http.HttpServletResponse;910import erService;11import erServiceImpl;1213/**14 * Servlet implementation class RegisterServlet15*/16 @WebServlet("/RegisterServlet")17public class RegisterServlet extends HttpServlet {18 UserService userService = new UserServiceImpl();19private static final long serialVersionUID = 1L;2021/**22 * @see HttpServlet#HttpServlet()23*/24public RegisterServlet() {25super();26// TODO Auto-generated constructor stub27 }2829/**30 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)31*/32protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 33// TODO Auto-generated method stub34 response.getWriter().append("Served at: ").append(request.getContextPath());35 }3637/**38 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)39*/40protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 41// TODO Auto-generated method stub42 request.setCharacterEncoding("utf-8");43 String userName = request.getParameter("userName");44 String userPwd = request.getParameter("userPwd");45 String userRePwd = request.getParameter("userRePwd");4647int k = userService.insertUser(userName,userPwd,userRePwd);4849if(k > 0) {50 request.getRequestDispatcher("login.jsp").forward(request, response);51 }else {52 request.getRequestDispatcher("register.jsp").forward(request, response);53 }54 }5556 }RegisterServlet1package com.maike.controller;23import java.io.IOException;4import javax.servlet.ServletException;5import javax.servlet.annotation.WebServlet;6import javax.servlet.http.HttpServlet;7import javax.servlet.http.HttpServletRequest;8import javax.servlet.http.HttpServletResponse;910import erService;11import erServiceImpl;1213/**14 * Servlet implementation class LoginServlet15*/16 @WebServlet("/LoginServlet")17public class LoginServlet extends HttpServlet {18 UserService userService = new UserServiceImpl();19private static final long serialVersionUID = 1L;2021/**22 * @see HttpServlet#HttpServlet()23*/24public LoginServlet() {25super();26// TODO Auto-generated constructor stub27 }2829/**30 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)31*/32protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 33// TODO Auto-generated method stub34 response.getWriter().append("Served at: ").append(request.getContextPath());35 }3637/**38 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)39*/40protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 41// TODO Auto-generated method stub42 request.setCharacterEncoding("utf-8");43 String userName = request.getParameter("userName");44 String uesrPwd = request.getParameter("userPwd");4546int k = userService.judgeLogin(userName,uesrPwd);47if(k > 0) {48 request.getRequestDispatcher("success.jsp").forward(request, response);49 }else {50 request.getRequestDispatcher("login.jsp").forward(request, response);51 }52 }5354 }LoginServlet1package com.maike.dao;23import er;45public interface UserDao {67int insert(String userName,String userPwd);8 User selectByName(String userName);910 }UserDao1package com.maike.dao;23import java.sql.Connection;4import java.sql.PreparedStatement;5import java.sql.ResultSet;6import java.sql.SQLException;78import er;9import com.maike.util.ConnectionUtil;1011public class UserDaoImpl implements UserDao {12 Connection con = null;13 PreparedStatement pt = null;14 ResultSet rs = null;15 String sql;1617 @Override18public int insert(String userName, String userPwd) {19// TODO Auto-generated method stub20int k = 0;21 sql = "insert into user value(null,?,?)";22try {23 con = ConnectionUtil.getConnection();24 pt = con.prepareStatement(sql);25 pt.setString(1, userName);26 pt.setString(2, userPwd);27 k = pt.executeUpdate();28 } catch (SQLException e) {29// TODO Auto-generated catch block30 e.printStackTrace();31 }finally {32 ConnectionUtil.closeRe(con, pt);33 }34return k;35 }3637 @Override38public User selectByName(String userName) {39// TODO Auto-generated method stub40 sql = "select * from user where user_name = ?";41 User user = new User();42try {43 con = ConnectionUtil.getConnection();44 pt = con.prepareStatement(sql);45 pt.setString(1, userName);46 rs = pt.executeQuery();4748while(rs.next()) {49 user.setUserId(rs.getInt("user_id"));50 user.setUserName(rs.getString("user_name"));51 user.setUserPwd(rs.getString("user_pwd"));52 }53 } catch (SQLException e) {54// TODO Auto-generated catch block55 e.printStackTrace();56 }finally {57 ConnectionUtil.closeRe(con, pt, rs);58 }59return user;60 }6162 }UserDaoImpl1package com.maike.model;23public class User {45private int userId;67private String userName;89private String userPwd;1011public int getUserId() {12return userId;13 }1415public void setUserId(int userId) {erId = userId;17 }1819public String getUserName() {20return userName;21 }2223public void setUserName(String userName) {erName = userName;25 }2627public String getUserPwd() {28return userPwd;29 }3031public void setUserPwd(String userPwd) {erPwd = userPwd;33 }3435 @Override36public String toString() {37return "User [userId=" + userId + ", userName=" + userName + ", userPwd=" + userPwd + "]";38 }3940 }User1package com.maike.service;23public interface UserService {45int insertUser(String userName,String userPwd,String userRePwd);6int judgeLogin(String userName,String userPwd);78 }UserService1package com.maike.service;23import erDao;4import erDaoImpl;5import er;67public class UserServiceImpl implements UserService {8 UserDao userDao = new UserDaoImpl();910/**11 * insertUser: 实现注册功能.<br/>12*/13 @Override14public int insertUser(String userName, String userPwd, String userRePwd) {15// TODO Auto-generated method stub16int k = 0;17if(userName == "" || userName == null || userPwd == "" || userRePwd == null) {18return k;19 }20if(!userPwd.equals(userRePwd)) {21return k;22 }2324 k = userDao.insert(userName,userPwd);2526return k;27 }2829/**30 * judgeLogin:登录判断 .<br/>31*/32 @Override33public int judgeLogin(String userName, String userPwd) {34// TODO Auto-generated method stub35int k = 0;36if(userName == "" || userName == null || userPwd == ""|| userPwd == null) {37return k;38 }39 User user = userDao.selectByName(userName);4041if(!userPwd.equals(user.getUserPwd())) {42 k = 0;43 }else {44 k = 1;45 }46return k;47 }4849 }1package com.maike.util;23import java.sql.Connection;4import java.sql.DriverManager;5import java.sql.PreparedStatement;6import java.sql.ResultSet;7import java.sql.SQLException;89public class ConnectionUtil {10private static String url = "jdbc:mysql://127.0.0.1/nanfeng?characterEncoding=utf8&useSSL=true"; 11private static String rootName = "root";12private static String rootPwd = "zz201608";1314private ConnectionUtil() {};1516static {17try {18/*加载驱动*/19 Class.forName("com.mysql.jdbc.Driver");20 } catch (ClassNotFoundException e) {21// TODO Auto-generated catch block22 e.printStackTrace();23 }24 }2526/**27 * getConnection:创建连接.<br/>28 * @return29 * @throws SQLException30*/31public static Connection getConnection() throws SQLException {32return DriverManager.getConnection(url,rootName,rootPwd);33 }3435/**36 * closeRe:关闭连接.<br/>37 * @param con38 * @param pt39 * @param rs40*/41public static void closeRe(Connection con,PreparedStatement pt,ResultSet rs) {42if(rs != null) {43try {44 rs.close();45 } catch (SQLException e) {46// TODO Auto-generated catch block47 e.printStackTrace();48 }finally {49if(pt != null) {50try {51 pt.close();52 } catch (SQLException e) {53// TODO Auto-generated catch block54 e.printStackTrace();55 }finally{56if(con != null) {57try {58 con.close();59 } catch (SQLException e) {60// TODO Auto-generated catch block61 e.printStackTrace();62 }63 }64 }65 }66 }67 }68 }6970/**71 * closeRe:关闭连接.<br/>72 * @param con73 * @param pt74*/75public static void closeRe(Connection con,PreparedStatement pt) {76if(pt != null) {77try {78 pt.close();79 } catch (SQLException e) {80// TODO Auto-generated catch block81 e.printStackTrace();82 }finally {83if(con != null) {84try {85 con.close();86 } catch (SQLException e) {87// TODO Auto-generated catch block88 e.printStackTrace();89 }90 }91 }92 }93 }9495 }jsp页⾯代码:1 <%@ page language="java" contentType="text/html; charset=utf-8"2 pageEncoding="utf-8"%>3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd">4 <html>5 <head>6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">7 <title>登录页⾯</title>8 </head>9 <body>10 <br><br><br>11 <h3 align = "center">登录页⾯</h3>12 <hr>13 <form align = "center" action="LoginServlet" method="post">14 <table align = "center" border="0">15 <tr><td>⽤户名</td><td><input type="text" name="userName" ></td></tr>16 <tr><td>密码</td><td><input type="password" name="userPwd" ></td></tr>17 <tr><td align = "center"><input type="submit" value = "登录" style="color:blue" ></td><td align = "right"><button><a href = "register.jsp" style="color:blue" >注册</a></button></td></tr>18 </table>1920 </form>2122 </body>23 </html>login.jsp1 <%@ page language="java" contentType="text/html; charset=utf-8"2 pageEncoding="utf-8"%>3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd">4 <html>5 <head>6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">7 <title>注册页⾯</title>8 </head>9 <body>10 <br><br><br>11 <h3 align = "center">注册页⾯</h3>12 <hr>13 <form align = "center" action="RegisterServlet" method="post">14 <table align = "center" border="0">15 <tr><td>⽤户名</td><td><input type="text" name="userName" ></td></tr>16 <tr><td>密码</td><td><input type="password" name="userPwd" ></td></tr>17 <tr><td>确认密码</td><td><input type="password" name="userRePwd" ></td></tr>18 <tr><td align = "center" colspan="2"><input type="submit" value = "注册" style="color:blue" ></td></tr>19 </table>2021 </form>22 </body>23 </html>register.jsp创建数据库:1 CREATE TABLE nanfeng.`user` (2 user_id INT NOT NULL AUTO_INCREMENT,3 user_name varchar(100) NULL,4 user_pwd varchar(100) NULL,5 CONSTRAINT user_pk PRIMARY KEY (user_id)6 )7 ENGINE=InnoDB8 DEFAULT CHARSET=utf89 COLLATE=utf8_general_ci;4.最后,启动服务器,界⾯效果出来了。
JavaWeb简单用户登录注册实例代码(有验证码)
JavaWeb简单⽤户登录注册实例代码(有验证码)需求编写login登录界⾯(⽤户名,密码,验证码,登陆按钮,注册按钮)设计关系数据库(编号,⽤户名,密码)编写注册功能,将数据存储在数据库中。
(姓名不能重复,设为主键,重复会注册失败)编写登录功能。
⾸先获取验证码,先判断验证码是否正确,不正确则显⽰验证码错误。
验证码正确后再获取⽤户名和密码,进⾏数据库的搜索⽐对,若正确则重定向到成功的界⾯,并且将⽤户名显⽰。
jar包技术选型Servlet + JSP + Mysql + JDBCTemplate + Druid + BeanUtils + Tomcat效果图验证码或者⽤户名和密码错误Navicat Premium 显⽰Mysql内容登录成功源码登录主界⾯ login.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>Login</title><script><%-- 增加时间戳来更换验证码图⽚ --%>window.onload=function(){document.getElementById("img").onclick=function(){this.src = "/daydayup/checkCodeServlet?time" + new Date().getTime();}}<%-- ⽤于打开注册的窗⼝--%>function reg() {window.open("register.jsp");}</script><style>div{color: red;}</style></head><body><form action="/daydayup/loginServlet" method="post"><table><tr><td>⽤户名</td><td><input type="text" name="username"></td></tr><tr><td>密码</td><td><input type="text" name="password"></td></tr><tr><td>验证码</td><td><input type="text" name="checkcode"></td></tr><tr><td colspan="2"><img id="img" src="/daydayup/checkCodeServlet" alt=""></td> </tr><tr><td><input type="submit" value="登录"></td><td><input type="button" value="注册" onclick="reg()" ></td></table></form><div>${requestScope.login_error}</div><div>${requestScope.checkcode_error}</div></body></html>注册界⾯ register.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>Title</title></head><body><form action="/daydayup/registerServlet" method="post"><table><tr><td>⽤户名</td><td><input type="text" name="username"></td></tr><tr><td>密码</td><td><input type="text" name="password"></td></tr><tr><td><input type="submit" value="确定注册"></td></tr></table></form><div>${requestScope.register_success}</div><div>${requestScope.register_error}</div></body></html>成功界⾯ success.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>Title</title></head><body><%-- <h1>${er},欢迎您</h1> --%><h1><%=request.getSession().getAttribute("user")%>,欢迎您</h1></body></html>先编辑好JDBCUtils⼯具类package cn.code.util;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;/*** JDBC⼯具类使⽤Durid连接池*/public class JDBCUtils {private static DataSource ds;static{try {//加载配置⽂件Properties pro = new Properties();//使⽤ClassLoader加载配置⽂件,获取字节输⼊流InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");pro.load(is);//初始化连接池对象ds = DruidDataSourceFactory.createDataSource(pro);} catch (Exception e) {e.printStackTrace();}}/*** 获取连接池对象*/public static DataSource getDataSource(){return ds;}/*** 获取连接connection对象*/public static Connection getConnection() throws SQLException {return ds.getConnection();}}创建我们的⽤户类实体Userpackage cn.code.domain;/*⽤户的实体类*/public class User {private int id ;private String username;private String password;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {ername = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +'}';}}编写Dao来操作数据库,⾥⾯有login和add两个⽅法 Userdao package cn.code.dao;import er;import cn.code.util.JDBCUtils;import org.springframework.dao.DataAccessException;import org.springframework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.JdbcTemplate;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;/*** 操作数据库中User表的类*/public class UserDao {//声明JDBCTemplate对象,以便⽅法公⽤private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());/*** 登录⽅法** @param loginUser ⽬前只有⽤户名和密码* @return user包含⽤户全部数据*/public User login(User loginUser) {//编写SQLString sql = "select * from user where username = ? and password = ?";//调⽤query⽅法try {User user = template.queryForObject(sql,new BeanPropertyRowMapper<User>(User.class),loginUser.getUsername(), loginUser.getPassword());return user;} catch (DataAccessException e) {e.printStackTrace();return null;}}/*** 注册⽅法** @param user ⽬前只包含⽤户名和密码* @return 是否注册成功*/public boolean add(User user){//编写SQLString sql = "insert into user (username,password) VALUES('" + user.getUsername() + "','" + user.getPassword() + "')"; boolean flag = false;int num = 0;try {//创建数据库连接Connection conn = JDBCUtils.getConnection();Statement state = null;flag = false;num = 0;state = conn.createStatement();num = state.executeUpdate(sql);} catch (SQLException e) {e.printStackTrace();}if(num >0) flag = true;return flag;}}登录的Servletpackage cn.code.servlet;import erDao;import er;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import java.io.IOException;@WebServlet("/loginServlet")public class LoginServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置字符编码request.setCharacterEncoding("utf-8");//获取参数String username = request.getParameter("username");String password = request.getParameter("password");String checkcode = request.getParameter("checkcode");//获取⽣成的验证码HttpSession session = request.getSession();String checkcode_session =(String) session.getAttribute("checkcode_session");//防⽌验证码存储删除Session中存储的验证码session.removeAttribute("checkcode_session");//判断验证码是否正确if(checkcode_session != null && checkcode_session.equalsIgnoreCase(checkcode)){//equalsIgnoreCase忽略⼤⼩写的⽐较//验证码正确User loginUser = new User();loginUser.setUsername(username);loginUser.setPassword(password);User user = new UserDao().login(loginUser);if(user != null){//⽤户名以及密码正确//登录成功//存储⽤户信息session.setAttribute("user",username); //因为是两次请求,所以⽤Session//重定向到success.jspresponse.sendRedirect(request.getContextPath()+"/success.jsp");}else{//⽤户名及密码错误//登录失败//存储提⽰信息到requestrequest.setAttribute("login_error","⽤户名或密码错误");//转发到登录页⾯request.getRequestDispatcher("/login.jsp").forward(request,response);}}else{//验证码不正确//存储提⽰信息到requestrequest.setAttribute("checkcode_error","验证码错误");//转发到登录页⾯request.getRequestDispatcher("/login.jsp").forward(request,response);}}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response);}}注册的Servletpackage cn.code.servlet;import erDao;import er;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;@WebServlet("/registerServlet")public class RegisterServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8");String username = request.getParameter("username");String password = request.getParameter("password");User registerUser = new User();registerUser.setUsername(username);registerUser.setPassword(password);boolean flag = new UserDao().add(registerUser);if(flag) {request.setAttribute("register_success","注册成功");request.getRequestDispatcher("/register.jsp").forward(request,response);}else{request.setAttribute("register_error","账号以被注册,注册失败");request.getRequestDispatcher("/register.jsp").forward(request,response);}}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request,response);}}在页⾯中画验证码(可点击更换)Servletpackage cn.code.checkcode;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.awt.*;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;//简易验证码@WebServlet("/checkCodeServlet")public class CheckCodeServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int width = 100;int height = 50;//创建⼀对象,在内存中代表图⽚(验证码图⽚对象)BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_BGR);//美化图⽚//填充背景⾊Graphics g = image.getGraphics();//画笔对象g.setColor(Color.ORANGE);g.fillRect(0,0,width,height);//画边框g.setColor(Color.BLUE);g.drawRect(0,0,width-1,height-1);String str = "QWERTYUIOPASDFGHJKLZXCVBNM1234567890zxcvbnmlkjhgfdsaqwertyuiop";//⽣成随机⾓标StringBuilder sb = new StringBuilder();Random ran = new Random();for (int i = 1; i <= 4; i++) {int index = ran.nextInt(str.length());//获取字符char ch = str.charAt(index);sb.append(ch);//写验证码g.drawString(ch+"",width/5*i,height/2);}String checkcode_session = sb.toString();//将验证码存⼊sessionrequest.getSession().setAttribute("checkcode_session",checkcode_session);//画⼲扰线g.setColor(Color.RED);//随机⽣成坐标点for (int i = 0 ;i<6;i++) {int x1 = ran.nextInt(width);int x2 = ran.nextInt(width);int y1 = ran.nextInt(height);int y2 = ran.nextInt(height);g.drawLine(x1,y1,x2,y2);}//将图⽚输出到页⾯展⽰ImageIO.write(image, "jpg", response.getOutputStream());}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}}到此这篇关于JavaWeb简单⽤户登录注册实例代码(有验证码)的⽂章就介绍到这了,更多相关JavaWeb ⽤户登录注册内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
