JavaWeb-简单的注册登录例子
来源:互联网 发布:淘宝经营地怎么改 编辑:程序博客网 时间:2024/05/17 23:47
简单的注册登录例子
要求:
1.用户名
2.密码
3.密码找回问题
4.答案
(首先必须判断用户名是否可用)
LoginResServlet.java
package com.xieth.javaweb;import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginResServlet extends HttpServlet { sqlDemo sqlD = null; @Override public void init(ServletConfig config) throws ServletException { try { sqlD = new sqlDemo(); } catch (Exception e) { e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); req.setCharacterEncoding("utf-8"); String action = req.getParameter("action"); PrintWriter out = resp.getWriter(); // 注册 if (action.equals("Register")) { String name = req.getParameter("name"); String password = req.getParameter("password"); String passwordProblm = req.getParameter("passwordProblem"); String problemResult = req.getParameter("problemResult"); boolean isEmpty = (name != null && !name.equals("") && password != null && !password.equals("") && passwordProblm != null && !passwordProblm.equals("") && problemResult != null && !problemResult.equals("")); System.out.println(isEmpty); if (isEmpty) { try { boolean flag = sqlD.InsertData(name, password, passwordProblm, problemResult); if (flag) { out.println("<h1>恭喜你" + name + ":注册成功点击<a href='login.html'>登录</a></h1>"); } else { out.println("<h1>Soory" + name + ":注册失败,该用户已经存在,点击<a href='Register.html'>重新注册</a></h1>"); } } catch (Exception e) { e.printStackTrace(); } } else { out.println("<h1>所以选项均不可以为空!!!点击<a href='Register.html'>重新注册</h1>"); } } else { // 登录 String name = req.getParameter("name"); String password = req.getParameter("password"); try { boolean flag = sqlD.LoginCorrect(name, password); if (flag) { out.println("<h1>欢迎你:" + name + "</h1>"); } else { out.println("<h1>SOrry密码错误!点击重新<a href='login.html'>登录</a></h1>"); } } catch (Exception e) { e.printStackTrace(); } } } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doGet(req, resp); }}class sqlDemo { private Connection conn = null; private Statement statement = null; public sqlDemo() throws Exception { conn = getConnection(); statement = conn.createStatement(); } // 查看登录用户名和密码是否正确 public boolean LoginCorrect(String name, String password) throws Exception { String sql = "select * from logindemo where name = '" + name + "'"; ResultSet rs = statement.executeQuery(sql); // 查看是否合法 while (rs.next()) { if (name.equals(rs.getString("name")) && password.equals(rs.getString("password"))) return true; } rs.close(); return false; } // 插入数据 public boolean InsertData(String name, String password, String passwordProblm, String problemResult) throws Exception { String sql = "insert into logindemo values ('" + name + "','" + password + "','" + passwordProblm + "','" + problemResult + "')"; String isAgainSql = "select name from logindemo where name = '" + name + "'"; ResultSet rs = statement.executeQuery(isAgainSql); // 查看是否用户名重复 while (rs.next()) { if (rs.getString("name").equals(name)) { return false; } } statement.executeUpdate(sql); rs.close(); return true; } private Connection getConnection() throws Exception { String driverClass = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql:///hello?useUnicode=true&characterEncoding=utf8"; String user = "root"; String password = "123456"; // 注册加载驱动 Class.forName(driverClass); // 获取连接 Connection conn = DriverManager.getConnection(url, user, password); System.out.println(conn); return conn; }}
Register.html
<!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>Insert title here</title></head><body> <form action="LoginResServlet" method="post"> 用户名:<input type="text" name="name"> 密码:<input type="password" name="password"> 密码找回问题:<input type="text" name="passwordProblem"> 答案:<input type="text" name="problemResult"> <input type="submit" value="注册"> <input type="hidden" name="action" value="Register"> </form></body></html>
login.html
<!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>Insert title here</title></head><body> <form action="LoginResServlet" method="post"> 用户名:<input type="text" name="name"> 密码:<input type="password" name="password"> <input type="submit" value="登录"> <input type="hidden" name="action" value="login"> </form></body></html>
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <servlet> <servlet-name>LoginResServlet</servlet-name> <servlet-class>com.xieth.javaweb.LoginResServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginResServlet</servlet-name> <url-pattern>/LoginResServlet</url-pattern> </servlet-mapping></web-app>
3 0
- JavaWeb-简单的注册登录例子
- 简单的Javaweb登录注册
- javaweb简单的登录注册功能实现
- javaweb简单的登录注册功能实现
- javaweb简单的登录注册功能实现
- javaweb简单的登录注册功能实现
- javaweb 简单 de 登录注册
- JavaWeb + mySQL + Android 实现Android简单的注册登录
- javaweb-基于数据库的简单登录注册界面
- 171210之JavaWeb简单的登录注册功能实现
- Javaweb 登录注册的实现
- javaWeb 简单注册登录(含数据库连接) -- (三) 实现用户注册请求的响应
- JAVAWEB最简单的登录
- MVC模型和JavaWeb模型入门_简单的注册登录案例
- javaWeb 简单注册登录(含数据库连接) -- (一)页面
- 简单的用户注册登录
- 简单的用户登录注册
- 安卓里简单的登录注册
- struts工作原理
- 第七周项目6--停车场
- 【第7周 项目2 - 建立链队算法库】
- 【bzoj1012】[JSOI2008]最大数maxnumber st表
- 网络PDF---BCM5325E与BCM5241
- JavaWeb-简单的注册登录例子
- windows server 2008中安装bitnami-Redmine-3.1.1-1可能遇到的问题
- 九度OJ 1092:Fibonacci (递归)
- 简单配置实现hbase单机模式
- 第四周项目3——单链表应用(2)
- 用switch语句实现多分支结构
- hdu4258 斜率优化dp
- Android ExpandableListView开发简介
- 第7周项目3 - 负数把正数赶出队列