电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:143日期: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
相關文章:
主站蜘蛛池模板: 立式硫化罐-劳保用品硫化罐-厂家直销-山东鑫泰鑫硫化罐厂家 | 出国劳务公司_正规派遣公司[严海] | 维泰克Veertek-锂电池微短路检测_锂电池腐蚀检测_锂电池漏液检测 | 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | 产业规划_产业园区规划-产业投资选址及规划招商托管一体化服务商-中机院产业园区规划网 | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | 「阿尔法设计官网」工业设计_产品设计_产品外观设计 深圳工业设计公司 | 郑州爱婴幼师学校_专业幼师培训_托育师培训_幼儿教育培训学校 | 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 台式恒温摇床价格_大容量恒温摇床厂家-上海量壹科学仪器有限公司 | 烟台条码打印机_烟台条码扫描器_烟台碳带_烟台数据采集终端_烟台斑马打印机-金鹏电子-金鹏电子 | 斗式提升机_链式斗提机_带式斗提机厂家无锡市鸿诚输送机械有限公司 | 换链神器官网-友情链接交换、购买交易于一体的站长平台 | 除尘布袋_液体过滤袋_针刺毡滤料-杭州辉龙过滤技术有限公司 | 防火板_饰面耐火板价格、厂家_品牌认准格林雅 | 苏州注册公司_苏州代理记账_苏州工商注册_苏州代办公司-恒佳财税 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | 许昌奥仕达自动化设备有限公司 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 粉末包装机,拆包机厂家,价格-上海强牛包装机械设备有限公司 | 温州食堂承包 - 温州市尚膳餐饮管理有限公司 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 隆众资讯-首页_大宗商品资讯_价格走势_市场行情 | 无纺布包装机|径向缠绕包装机|缠绕膜打包机-上海晏陵智能设备有限公司 | 订做不锈钢_不锈钢定做加工厂_不锈钢非标定制-重庆侨峰金属加工厂 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 齿轮减速电机一体机_蜗轮蜗杆减速马达-德国BOSERL齿轮减速机带电机生产厂家 | 香港新时代国际美容美发化妆美甲培训学校-26年培训经验,值得信赖! | 台式低速离心机-脱泡离心机-菌种摇床-常州市万丰仪器制造有限公司 | 天津拓展_天津团建_天津趣味运动会_天津活动策划公司-天津华天拓展培训中心 | 作文导航网_作文之家_满分作文_优秀作文_作文大全_作文素材_最新作文分享发布平台 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 | 广西资质代办_建筑资质代办_南宁资质代办理_新办、增项、升级-正明集团 | 炉门刀边腹板,焦化设备配件,焦化焦炉设备_沧州瑞创机械制造有限公司 | 恒温恒湿试验箱_高低温试验箱_恒温恒湿箱-东莞市高天试验设备有限公司 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, |