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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

案例:用户登录

發布時間:2025/4/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 案例:用户登录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

案例:用戶登錄

* 用戶登錄案例需求:
?? ?1.編寫login.html登錄頁面
?? ??? ?username & password 兩個輸入框
?? ?2.使用Druid數據庫連接池技術,操作mysql,day14數據庫中user表
?? ?3.使用JdbcTemplate技術封裝JDBC
?? ?4.登錄成功跳轉到SuccessServlet展示:登錄成功!用戶名,歡迎您
?? ?5.登錄失敗跳轉到FailServlet展示:登錄失敗,用戶名或密碼錯誤

開發步驟
?? ?1. 創建項目,導入html頁面,配置文件,jar包
?? ?2. 創建數據庫環境
?? ??? ?CREATE DATABASE day14;
?? ??? ?USE day14;
?? ??? ?CREATE TABLE USER(
?? ??? ??? ?id INT PRIMARY KEY AUTO_INCREMENT,
?? ??? ??? ?username VARCHAR(32) UNIQUE NOT NULL,
?? ??? ??? ?PASSWORD VARCHAR(32) NOT NULL
?? ??? ?);

druid.properties

driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql:///day14 username=root password=root initialSize=5 maxActive=10 maxWait=3000

User.java

package cn.itcast.domain; /*** 用戶的實體類*/ public class User {private int id;private String username;private String password;private String gender;public void setHehe(String gender){this.gender = gender;}public String getHehe(){return gender;}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;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +", gender='" + gender + '\'' +'}';} }

JDBCUtils.java

package cn.itcast.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工具類 使用Druid連接池*/ public class JDBCUtils {private static DataSource ds ;static {try {//1.加載配置文件Properties pro = new Properties();//使用ClassLoader加載配置文件,獲取字節輸入流InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");pro.load(is);//2.初始化連接池對象ds = DruidDataSourceFactory.createDataSource(pro);} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}/*** 獲取連接池對象*/public static DataSource getDataSource(){return ds;}/*** 獲取連接Connection對象*/public static Connection getConnection() throws SQLException {return ds.getConnection();} }

UserDao.java

package cn.itcast.dao;import cn.itcast.domain.User; import cn.itcast.util.JDBCUtils; import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate;/*** 操作數據庫中User表的類*/ public class UserDao {//聲明JDBCTemplate對象共用private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());/*** 登錄方法* @param loginUser 只有用戶名和密碼* @return user包含用戶全部數據,沒有查詢到,返回null*/public User login(User loginUser){try {//1.編寫sqlString sql = "select * from user where username = ? and password = ?";//2.調用query方法User user = template.queryForObject(sql,new BeanPropertyRowMapper<User>(User.class),loginUser.getUsername(), loginUser.getPassword());return user;} catch (DataAccessException e) {e.printStackTrace();//記錄日志return null;}} }

LoginServlet.java

package cn.itcast.web.servlet;import cn.itcast.dao.UserDao; import cn.itcast.domain.User; import org.apache.commons.beanutils.BeanUtils;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; import java.lang.reflect.InvocationTargetException; import java.util.Map;@WebServlet("/loginServlet") public class LoginServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//1.設置編碼req.setCharacterEncoding("utf-8");//2.獲取請求參數String username = req.getParameter("username");String password = req.getParameter("password");//3.封裝user對象User loginUser = new User();loginUser.setUsername(username);loginUser.setPassword(password);//4.調用UserDao的login方法UserDao dao = new UserDao();User user = dao.login(loginUser);//5.判斷userif(user == null){//登錄失敗req.getRequestDispatcher("/failServlet").forward(req,resp);}else{//登錄成功//存儲數據req.setAttribute("user",user);//轉發req.getRequestDispatcher("/successServlet").forward(req,resp);}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doGet(req,resp);} }

FailServlet.java

package cn.itcast.web.servlet;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("/failServlet") public class FailServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//給頁面寫一句話//設置編碼response.setContentType("text/html;charset=utf-8");//輸出response.getWriter().write("登錄失敗,用戶名或密碼錯誤");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);} }

SuccessServlet.java

package cn.itcast.web.servlet;import cn.itcast.domain.User;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("/successServlet") public class SuccessServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//獲取request域中共享的user對象User user = (User) request.getAttribute("user");if(user != null){//給頁面寫一句話//設置編碼response.setContentType("text/html;charset=utf-8");//輸出response.getWriter().write("登錄成功!"+user.getUsername()+",歡迎您");}}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);} }

login.html

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body><form action="/day14_test/loginServlet" method="post">用戶名:<input type="text" name="username"> <br>密碼:<input type="password" name="password"><br><input type="submit" value="登錄"></form> </body> </html>


?

總結

以上是生活随笔為你收集整理的案例:用户登录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。