成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Jsp+Servlet實現簡單登錄注冊查詢

瀏覽:271日期:2022-06-08 09:21:04

本文實例為大家分享了Jsp+Servlet實現簡單登錄注冊查詢的具體代碼,供大家參考,具體內容如下

1、注冊功能:

制作一個注冊頁面
用戶輸入:

用戶名
密碼
年齡
注冊成功:——>跳轉至登錄頁面進行登錄
注冊失敗:——>文字或其他形式的提示皆可

2、簡易查詢:

制作一個查詢頁面
輸入用戶名
顯示該用戶的用戶名、密碼、年齡

演示

1.啟動進入登陸頁面

2.點擊注冊,進入注冊頁面,成功跳轉到登錄頁面

失敗則提示

回到登錄頁面,登錄成功進入查詢頁面

登錄失敗顯示提示信息

輸入用戶名->顯示該用戶的用戶名、密碼、年齡

代碼

dao

public class UserDao { private Connection conn = null; private PreparedStatement ps=null; private int result=0; private ResultSet rs=null; //用戶注冊 public int register(User user){ String sql="insert into users(name,password,age) value (?,?,?)"; try { //獲取數據庫連接對象 conn= JDBCUtil.getConnection(); //獲取數據庫操作對象 ps=conn.prepareStatement(sql); ps.setString(1,user.getName()); ps.setString(2,user.getPassword()); ps.setInt(3,user.getAge()); //執行sql result=ps.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }finally { JDBCUtil.close(null,ps,conn); } return result; } //登錄驗證用戶信息 public int login(String userName,String password){ String sql ="select count(*) from users where name=? and password=?"; try { conn=JDBCUtil.getConnection(); ps=conn.prepareStatement(sql); ps.setString(1,userName); ps.setString(2,password); rs=ps.executeQuery(); while (rs.next()){ result=rs.getInt("count(*)"); } } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtil.close(rs,ps,conn); } return result; } //根據用戶名 顯示用戶名、密碼、年齡 public User findByName(String userName){ String sql="select name,password,age from users where name=?"; User user = null; try { conn=JDBCUtil.getConnection(); ps=conn.prepareStatement(sql); ps.setString(1,userName); rs=ps.executeQuery(); while (rs.next()){ String name = rs.getString("name"); String password = rs.getString("password"); int age = rs.getInt("age"); user = new User(name,password,age); } } catch (Exception e) { e.printStackTrace(); }finally { JDBCUtil.close(null,ps,conn); } return user; }}

entity 實體類

public class User { private int id; private String name; private String password; private int age;//set...//get...//constructor...}

service

public class UserServiceImpl implements UserService { UserDao userDao = new UserDao(); // 注冊 @Override public int register(User user) { return userDao.register(user); } // 登陸 @Override public int login(String userName, String password) { return userDao.login(userName,password); } // 根據用戶名查找信息 @Override public User findByName(String userName) { return userDao.findByName(userName); }}

servlet

// FindByNameServletpublic class FindByNameServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("name"); UserService userService = new UserServiceImpl(); User user = userService.findByName(name); //將查詢結果放入request作用域 request.setAttribute("userInfo",user); request.getRequestDispatcher("/jsp/index.jsp").forward(request,response); }}// LoginServletpublic class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1 獲取 String userName = request.getParameter("userName"); String password = request.getParameter("password"); //2 service調用dao對數據庫操作 UserService userService = new UserServiceImpl(); int result = userService.login(userName, password); //3 成功跳轉到查詢頁面,失敗跳轉到失敗頁面 if (result>0){ response.sendRedirect("/jsp/index.jsp"); }else{ response.sendRedirect("/login_error.html"); } }}// RegisterServletpublic class RegisterServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { UserService userService = new UserServiceImpl(); User user = null; int result = 0; //1【調用請求對象】讀取【請求頭】參數信息,得到用戶注冊信息 String userName, password, age; userName = request.getParameter("userName"); password = request.getParameter("password"); age = request.getParameter("age"); user = new User(userName, password, Integer.valueOf(age)); //2 調用userService——>userDao // 先查詢用戶是否存在 User byName = userService.findByName(userName); if (byName!=null){ request.setAttribute("info","用戶已存在!"); request.getRequestDispatcher("/jsp/register.jsp").forward(request,response); } // 注冊 result = userService.register(user); //3 設置編碼格式,防止亂碼 response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); //注冊成功:——>跳轉至登錄頁面進行登錄 //注冊失敗:——>注冊頁面提示:注冊失敗 if (result == 1) { response.sendRedirect("/login.html"); } else { request.setAttribute("info","注冊失敗!"); request.getRequestDispatcher("/jsp/register.jsp").forward(request,response); } }}

JDBCUtil

public class JDBCUtil { private JDBCUtil(){} //靜態代碼塊在類加載時執行,并且執行一次。 static{ try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } //獲取數據庫連接對象 public static Connection getConnection() throws Exception{ String url="jdbc:mysql://127.0.0.1:3306/zy?&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"; String user="root"; String password="rootroot"; return DriverManager.getConnection(url,user,password); } /** *關閉資源 * @param conn 連接對象 * @param ps 數據庫操作對象 * @param rs 結果集 */ public static void close(ResultSet rs, Statement ps, Connection conn){ if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }}

index.jsp

<%@ page import="entity.User" %><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>查詢頁面</title></head><body><div align="center"> <h2/>輸入用戶名,查詢信息 <form action="/findByName" method="get"> <input type="text" name="name" id="name"> <input type="submit" value="查詢"> </form> <% User userInfo = (User) request.getAttribute("userInfo"); %> <% if (userInfo != null) { %> <table border="3"> <tr> <th>用戶名</th> <th>密碼</th> <th>年齡</th> </tr> <tr> <td> &nbsp; &nbsp; <%=userInfo.getName()%> &nbsp; &nbsp;</td> <td> &nbsp; &nbsp; <%=userInfo.getPassword()%> &nbsp; &nbsp;</td> <td> &nbsp; &nbsp; <%=userInfo.getAge()%> &nbsp; &nbsp;</td> </tr> </table> <% } %></div></body></html>

register.jsp

<%@ page import="com.mysql.cj.util.StringUtils" %><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body><br><br><% String info =(String) request.getAttribute("info");%><% if (!StringUtils.isNullOrEmpty(info)){%> <h1 ><%=info%></h1><% }%><div align="center"> <form action="/register" method="post"> <table border="2"> <tr> <th>用戶名</th> <td><input type="text" name="userName"/></td> </tr> <tr> <th>密碼</th> <td><input type="password" name="password"/></td> </tr> <tr> <th>年齡</th> <td><input type="text" name="age"/></td> </tr> <tr> <td colspan="2" align="center">  <input type="submit" value="注冊"/>  <input type="reset" value="清空"/> </td> </tr> </table> </form></div></body></html>

web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>servlet.LoginServlet</servlet-class> </servlet> <servlet> <servlet-name>RegisterServlet</servlet-name> <servlet-class>servlet.RegisterServlet</servlet-class> </servlet> <servlet> <servlet-name>FindByNameServlet</servlet-name> <servlet-class>servlet.FindByNameServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>RegisterServlet</servlet-name> <url-pattern>/register</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>FindByNameServlet</servlet-name> <url-pattern>/findByName</url-pattern> </servlet-mapping> <!--設置默認歡迎文件規則--> <welcome-file-list> <welcome-file>login.html</welcome-file> <!--servlet 作為默認歡迎文件 ‘/"需要去掉--> </welcome-file-list></web-app>

login.html

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>登陸界面</title></head><body><div align="center"> <font size="10px" color="#00008b">用戶登錄</font> <form action="/login" method="post"> <table border="2"> <tr> <th>用戶名</th> <td><input type="text" name="userName"/></td> </tr> <tr> <th>密碼</th> <td><input type="password" name="password"/></td> </tr> <tr> <td colspan="2" align="center">  <input type="submit" value="登錄"/>  <input type="reset" /> </td> </tr> </table> </form> <a href="/jsp/register.jsp">立即注冊</a></div></body></html>

login_error.html

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>登錄驗證</title></head><body><div align="center"> <font size="10px" color="#00008b">用戶登錄</font><br> <font size="5px" color="red">登錄信息不存在,請重新登陸!!!</font> <form action="/login" method="post"> <table border="2"> <tr> <th>用戶名</th> <td><input type="text" name="userName" /></td> </tr> <tr> <th>密碼</th> <td><input type="password" name="password" /></td> </tr> <tr> <td colspan="2" align="center">  <input type="submit" value="登錄"/>  <input type="reset"> </td> </tr> </table> </form> <a href="/jsp/register.jsp">立即注冊</a></div></body></html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

標簽: JSP
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产欧美日韩伦理| 欧美激情一二三区| 中文字幕二三区不卡| 成人一道本在线| 欧美日韩国产高清一区二区三区 | 亚洲人成小说网站色在线| 91在线观看下载| 精品美女在线观看| 国产精品1区2区3区在线观看| 欧美性大战久久久久久久蜜臀| 亚洲成av人片在线| 亚洲资源av| 亚洲图片欧美一区| 国产视频一区免费看| 一区二区三区欧美在线观看| 亚洲精选在线| 亚洲精品视频在线观看网站| 亚洲欧洲日本国产| 亚洲欧美日韩一区二区| 亚洲第一在线| 亚洲女人****多毛耸耸8| 在线国产欧美| 亚洲自拍与偷拍| av不卡在线看| 一区二区三区在线观看网站| 国产欧美日韩综合一区在线播放 | 久久久噜噜噜久噜久久综合| 国产日韩高清一区二区三区在线| 国产精品12区| 亚洲欧洲精品一区二区精品久久久 | 99pao成人国产永久免费视频| 亚洲色图欧洲色图| 99re66热这里只有精品4| 亚洲毛片av在线| 夜久久久久久| 婷婷综合另类小说色区| 欧美色图天堂网| 国产精品一区二区x88av| 精品日韩一区二区三区免费视频| 91免费版在线| 亚洲色欲色欲www在线观看| 亚洲一区免费| 蜜桃精品视频在线| 欧美一区二区三区视频在线| aaa欧美日韩| 亚洲人精品一区| 久久一区二区三区超碰国产精品| 久久国产剧场电影| 日韩无一区二区| 91日韩精品一区| 亚洲欧美日韩国产一区二区三区| 免费视频一区二区三区在线观看| 免费看黄色91| 精品久久一区二区| 激情自拍一区| 视频一区欧美精品| 欧美精品 国产精品| 成人av网在线| 中文字幕一区二区三区不卡在线 | 久久av一区二区| 日本成人在线电影网| 91精品国产综合久久久蜜臀粉嫩| av毛片久久久久**hd| 亚洲色欲色欲www在线观看| 色偷偷一区二区三区| 国产精品资源在线看| 久久精品免费在线观看| 制服诱惑一区二区| 久久精品久久精品| 欧美精品一区二| 亚洲精品国产日韩| 麻豆成人av在线| 日韩精品自拍偷拍| 国色天香一区二区| 日韩精品电影在线观看| 欧美大片日本大片免费观看| 影音先锋在线一区| 免费成人你懂的| 国产午夜精品一区二区三区视频| 国产亚洲毛片在线| 国产成人精品免费在线| 亚洲色图色小说| 666欧美在线视频| 国产精品jizz在线观看美国| 日韩精品乱码免费| 日韩欧美亚洲一区二区| 激情欧美一区二区三区| 久久99国产精品尤物| 国产精品美女www爽爽爽| 欧美系列亚洲系列| 欧美久久在线| 日本欧美一区二区三区| 久久久国产精品午夜一区ai换脸| 久久精品国产99精品国产亚洲性色| 国产91高潮流白浆在线麻豆| 亚洲精品网站在线观看| 6080yy午夜一二三区久久| 亚洲午夜激情在线| 国产综合一区二区| 国产精品久久99| 欧美日韩美少妇| 亚洲一二区在线| 韩国成人在线视频| 亚洲三级视频在线观看| 91精品国产aⅴ一区二区| 亚洲看片网站| 国产成人在线网站| 性做久久久久久久久| 久久久久久久久免费| 巨乳诱惑日韩免费av| 91麻豆蜜桃一区二区三区| 青椒成人免费视频| 中文av一区特黄| 91精品综合久久久久久| 一区二区激情| aaa欧美色吧激情视频| 日韩成人免费电影| 中文字幕日本乱码精品影院| 制服.丝袜.亚洲.中文.综合| 国产精品乱子乱xxxx| 99精品久久只有精品| 麻豆91在线看| 一区二区日韩av| 国产日韩高清在线| 在线电影一区二区三区| 鲁大师成人一区二区三区| 欧美激情1区| 国精品**一区二区三区在线蜜桃| 亚洲mv在线观看| 国产精品剧情在线亚洲| 欧美日韩精品一区二区三区蜜桃| 在线国产日韩| 99r国产精品| 久久不见久久见免费视频1| 一区二区三区高清| 国产精品理论片在线观看| 欧美xxxxx牲另类人与| 欧美色图12p| 久久国产毛片| 99国产一区| 国自产拍偷拍福利精品免费一| 国产91精品免费| 韩国精品免费视频| 蜜桃视频在线观看一区| 亚洲一区二区美女| 亚洲欧洲av色图| 国产午夜精品理论片a级大结局| 日韩三级在线观看| 91精品视频网| 欧美在线一区二区三区| 久久本道综合色狠狠五月| 亚洲精品一品区二品区三品区| 欧美高清一区| 99国产精品国产精品毛片| 国产91精品精华液一区二区三区 | 亚洲一卡二卡三卡四卡五卡| 中文字幕一区av| 久久久久亚洲蜜桃| 精品国产成人在线影院 | 91蜜桃免费观看视频| 国产乱一区二区| 久久激五月天综合精品| 天天av天天翘天天综合网色鬼国产| 亚洲精选一二三| 亚洲欧美另类小说视频| 亚洲欧洲日韩综合一区二区| 国产精品区一区二区三区| 久久久久久久久久久黄色| 日韩欧美二区三区| 欧美一区二区人人喊爽| 欧美一区二区私人影院日本| 在线不卡一区二区| 91精品国产一区二区三区| 欧美理论片在线| 91精品免费在线观看| 日韩欧美国产三级| 精品国产第一区二区三区观看体验| 日韩精品一区二区三区四区| 日韩一级成人av| 日韩三级.com| 日韩精品一区二区三区视频在线观看| 欧美伦理视频网站| 欧美日韩大陆一区二区| 欧美老女人在线| 日韩美女视频在线| 久久久久国产精品免费免费搜索| 久久久久久日产精品| 国产欧美日韩久久| 国产精品久久久久婷婷二区次| 中文字幕视频一区| 亚洲综合男人的天堂| 视频一区二区三区在线| 蜜桃视频一区二区三区在线观看| 精品一区二区免费看| 韩国成人在线视频| 粉嫩av亚洲一区二区图片| 成人app在线| 欧美精选一区| 99riav国产精品| 色综合久久久久综合|