日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

jsp+mysql+servlet的登录

發(fā)布時(shí)間:2025/7/25 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsp+mysql+servlet的登录 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

登錄代碼

  • ?entity類
package com.wy.entity; public class User { private int id; private String username; private String password; private String email; public int getId() { return id; } public void setId(int id) { this.id = id; } 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; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
  • ?userDao接口
package com.wy.dao; import com.wy.entity.User; public interface UserDao { //保存用戶信息 public void save(User user); //登錄接口 public User login(String username,String password); //根據(jù)用戶名查詢用戶方法接口 public boolean findByName(String username); }
  • ?userDaoImpl(接口的實(shí)現(xiàn))
package com.wy.daoImpl;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet;import com.wy.dao.UserDao; import com.wy.db.DBUtils; import com.wy.entity.User; public class UserDaoImpl implements UserDao { @Override //保存 public void save(User user) { // TODO Auto-generated method stub Connection conn = null; PreparedStatement ps = null; try { //連接數(shù)據(jù)庫 conn = DBUtils.getConnection(); //SQL語句 ps = conn .prepareStatement("insert into user(username,password,email)values(?,?,?)"); //給用戶屬性動(dòng)態(tài)設(shè)置 ps.setString(1, user.getUsername()); ps.setString(2, user.getPassword()); ps.setString(6, user.getEmail()); ps.executeUpdate(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally{ //關(guān)閉數(shù)據(jù)庫連接 DBUtils.close1(ps, conn); } } @Override public User login(String username, String password) { // TODO Auto-generated method stub Connection conn=null; PreparedStatement ps=null; ResultSet rs=null; try { conn=DBUtils.getConnection(); ps=conn.prepareStatement("select * from user where username=? and password=?"); ps.setString(1, username); ps.setString(2, password); rs=ps.executeQuery(); if(rs.next()){ User user=new User(); user.setId(rs.getInt("id")); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); user.setEmail(rs.getString("email")); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally{ DBUtils.close2(rs, ps, conn); } return null; } @Override public boolean findByName(String username) { // TODO Auto-generated method stub Connection conn=null; PreparedStatement ps=null; ResultSet rs=null; try { conn=DBUtils.getConnection(); ps=conn.prepareStatement("select * from user where name=?"); ps.setString(1, username); rs=ps.executeQuery(); if(rs.next()){ user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally{ DBUtils.close2(rs, ps, conn); } return false; } }
  • ?數(shù)據(jù)庫的設(shè)置
package com.wy.db;import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBUtils { //數(shù)據(jù)庫的連接設(shè)置 static String url="jdbc:mysql://localhost:3306/java"; static String user="root"; static String password="wy123"; static{ try { //加載數(shù)據(jù)庫驅(qū)動(dòng) Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { // TODO: handle exception e.printStackTrace(); } } /** * 建立連接 * @throws SQLException * */ public static Connection getConnection() throws SQLException{ Connection conn=DriverManager.getConnection(url, user, password); return conn; } /** * 數(shù)據(jù)庫關(guān)閉操作1:PreparedStatement ps,Connection conn * */ public static void close1(PreparedStatement ps,Connection conn){ if(ps!=null){ try { ps.close(); } catch (SQLException e) { // TODO: handle exception e.printStackTrace(); } } if(conn!=null){ try { conn.close(); } catch (SQLException e) { // TODO: handle exception e.printStackTrace(); } } } /** * 數(shù)據(jù)庫關(guān)閉操作2:ResultSet rs,PreparedStatement ps,Connection conn * */ public static void close2(ResultSet rs,PreparedStatement ps,Connection conn){ if(rs!=null){ try { rs.close(); } catch (SQLException e) { // TODO: handle exception e.printStackTrace(); } } close1(ps, conn); } }
  • ?登錄Servlet(LoginServlet)
package com.wy.servlet;import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.wy.daoImpl.UserDaoImpl; import com.wy.entity.User; public class LoginServlet extends HttpServlet{ //doPost方法 @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //獲取jsp頁面參數(shù) String username=request.getParameter("username"); String password=request.getParameter("password"); //實(shí)例化userDaoImpl,該類中為接口的實(shí)現(xiàn)方法 UserDaoImpl userDaoImpl=new UserDaoImpl(); //根據(jù)得到的參數(shù)信息查詢數(shù)據(jù)庫中的用戶名以及密碼是否匹配 User user=userDaoImpl.login(username, password); //匹配結(jié)果是否為空,即該用戶是否存在 if(user!=null){ request.getSession().setAttribute("user", user); request.getRequestDispatcher("message.jsp").forward(request ,response); }else { request.setAttribute("message", "用戶名或密碼錯(cuò)誤!!!"); request.getRequestDispatcher("message.jsp").forward(request, response); } } }

這次登錄的心得體會(huì):在最開始的時(shí)候看了一些基礎(chǔ)的Servlet視頻進(jìn)行的學(xué)習(xí),對(duì)于它的頁面跳轉(zhuǎn)有一些了解,但是并具體的功能實(shí)現(xiàn)。敲代碼我覺得是最快的了解語言的方式,這次的登錄做完后比剛開始要更加了解Servlet,就如同在剛開始的時(shí)候我都不太理解如何區(qū)分executeUpdate與executeQuery,所以在去敲的時(shí)候有專門去查它們的區(qū)別然后再去使用就知道為什么去用它,要去研究它的用法,個(gè)人認(rèn)為比看書要好一些。代碼肯定還需要去不斷的完善,新人也還在摸索更適合自己的學(xué)習(xí)道路,希望大家多多指教

轉(zhuǎn)載于:https://www.cnblogs.com/sinon/p/5830582.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的jsp+mysql+servlet的登录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。