版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 login)jar包+ +MysqlLoginwindow.onload=function()document.getElementById(img).onclick=function()this.src = /daydayup/checkCodeServlet?time + new Date().getTime();function reg() window.open(register.jsp);divcolor: red;戶名密碼驗證碼$requestScope.login_error$requestScope.checkcode_error Title戶名密碼$requestScope
2、.register_success$requestScope.register_error Title%- $requestScope.user,歡迎您 -%, 歡迎您package cn.code.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;impo
3、rt java.util.Properties;/* JDBC具類 使連接池*/public class JDBCUtils private static DataSource ds;statictry /加載配置件Properties pro = new Properties();/使ClassLoader加載配置件,獲取字節(jié)輸流InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream(perties);pro.load(is);/初始化連接池對象ds = DruidDataSourceFactory.crea
4、teDataSource(pro); catch (Exception e) e.printStackTrace();/* 獲取連接池對象*/public static DataSource getDataSource()return ds;/* 獲取連接connection對象*/public static Connection getConnection() throws SQLException return ds.getConnection();package cn.code.domain;/*戶的實體類*/public class User private int id ;priva
5、te String username;private String password;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 pass
6、word) this.password = password;Overridepublic String toString() return User +id= + id +, username= + username + +, password= + password + +;Daologinadd package cn.code.dao;import cn.code.domain.User;import cn.code.util.JDBCUtils;import org.springframework.dao.DataAccessException;import org.springfra
7、mework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.JdbcTemplate;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;/* 操作數(shù)據(jù)庫中User表的類*/public class UserDao /聲明JDBCTemplate對象,以便法公private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSo
8、urce();/* 登錄法* param loginUser 前只有戶名和密碼* return user包含戶全部數(shù)據(jù)*/public User login(User loginUser) /編寫SQLString sql = select * from user where username = ? and password = ?;/調(diào)query法try User user = template.queryForObject(sql,new BeanPropertyRowMapper(User.class),loginUser.getUsername(), loginUser.getPas
9、sword();return user; catch (DataAccessException e) e.printStackTrace();return null;/* 注冊法* param user 前只包含戶名和密碼* return 是否注冊成功*/public boolean add(User user)/編寫SQLString sql = insert into user (username,password) VALUES( + user.getUsername() + , + user.getPassword() + );boolean flag = false;int num
10、= 0;try /創(chuàng)建數(shù)據(jù)庫連接Connection conn = JDBCUtils.getConnection();Statement state = null;flag = false;num = 0;state = conn.createStatement();num = state.executeUpdate(sql); catch (SQLException e) e.printStackTrace();if(num 0) flag = true;return flag;package cn.code.servlet;import cn.code.dao.UserDao;impor
11、t cn.code.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 javax.servlet.http.HttpSession;import java.io.IOException;Web
12、Servlet(/loginServlet)public class LoginServlet extends HttpServlet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /設(shè)置字符編碼request.setCharacterEncoding(utf-8);/獲取參數(shù)String username = request.getParameter(username);String password =
13、request.getParameter(password);String checkcode = request.getParameter(checkcode);/獲取成的驗證碼HttpSession session = request.getSession();String checkcode_session =(String) session.getAttribute(checkcode_session);/防驗證碼存儲 刪除Session中存儲的驗證碼session.removeAttribute(checkcode_session);/判斷驗證碼是否正確if(checkcode_se
14、ssion != null & checkcode_session.equalsIgnoreCase(checkcode)/equalsIgnoreCase忽略寫的較/驗證碼正確User loginUser = new User();loginUser.setUsername(username);loginUser.setPassword(password);User user = new UserDao().login(loginUser);if(user != null)/ 戶名以及密碼正確/ 登錄成功/ 存儲戶信息session.setAttribute(user,username);
15、/ 因為是兩次請求,所以Session/ 重定向到success.jspresponse.sendRedirect(request.getContextPath()+/success.jsp);else/ 戶名及密碼錯誤/ 登錄失敗/ 存儲提信息到requestrequest.setAttribute(login_error, 戶名或密碼錯誤);/ 轉(zhuǎn)發(fā)到登錄頁request.getRequestDispatcher(/login.jsp).forward(request,response);else/驗證碼不正確/存儲提信息到requestrequest.setAttribute(check
16、code_error, 驗證碼錯誤);/轉(zhuǎn)發(fā)到登錄頁request.getRequestDispatcher(/login.jsp).forward(request,response);protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException this.doPost(request, response);package cn.code.servlet;import cn.code.dao.UserDao;import cn
17、.code.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(/registerServlet)public class Regi
18、sterServlet extends HttpServlet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8);String username = request.getParameter(username);String password = request.getParameter(password);User registerUser
19、 = new User();registerUser.setUsername(username);registerUser.setPassword(password);boolean flag = new UserDao().add(registerUser);if(flag) request.setAttribute(register_success, 注冊成功);request.getRequestDispatcher(/register.jsp).forward(request,response);elserequest.setAttribute(register_error,賬號以被注
20、冊,注冊失敗);request.getRequestDispatcher(/register.jsp).forward(request,response);protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException this.doPost(request,response);package cn.code.checkcode;import javax.imageio.ImageIO;import javax.servlet.
21、ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.awt.*;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;/簡易驗證碼
22、WebServlet(/checkCodeServlet)public class CheckCodeServlet extends HttpServlet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException int width = 100;int height = 50;/創(chuàng)建對象,在內(nèi)存中代表圖(驗證碼圖對象)BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_BGR);/美化圖/填充背景Graphics g = image.getGraphics();/畫筆對象g.setColor(Color.ORANGE);g.fillRect(0,0,width,height);/畫邊框g.setColor(Color.BLUE);g.drawRect(0,0,width-1,height-1);String str = QWERTYUIOPASDFGHJKLZXCVBNM1234567890zxcvbnmlkjhgfdsaqwerty
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職市政工程技術(shù)(市政管道施工)試題及答案
- 2025年中職(幼兒保育)幼兒語言發(fā)展試題及答案
- 2025年大學(xué)第三學(xué)年(電氣工程及其自動化)電力系統(tǒng)階段測試題及答案
- 2025年高職模具設(shè)計與制造(注塑模設(shè)計)試題及答案
- 2025年高職雜技與魔術(shù)表演(雜技創(chuàng)作技巧)試題及答案
- 2026年標簽創(chuàng)作(標簽分類規(guī)范)試題及答案
- 2025年中職第一學(xué)年(播音與主持)播音發(fā)聲技能試題及答案
- 2025年大學(xué)土壤肥料(診斷技術(shù))試題及答案
- 2025年大學(xué)大四(表演)表演畢業(yè)設(shè)計基礎(chǔ)測試題及答案
- 2025年高職城市軌道交通車輛技術(shù)(車輛駕駛)試題及答案
- 2025中國機械工業(yè)集團有限公司國機集團總部社會招聘19人筆試參考題庫附帶答案詳解
- 城鎮(zhèn)老舊供水管網(wǎng)及附屬設(shè)施升級改造工程節(jié)能評估報告
- 紀委監(jiān)委辦案安全課件
- 2026年全國婦聯(lián)所屬在京事業(yè)單位公開招聘備考題庫含答案詳解
- 2025年輸血知識考試試題及答案
- 2025-2026學(xué)年人教版八年級上冊道德與法治期末試卷(含答案和解析)
- 幼兒園消防安全管理細則解讀
- 沈陽市2025遼寧沈陽市于洪區(qū)社區(qū)殘疾人工作專職干事招聘筆試歷年參考題庫典型考點附帶答案詳解(3卷合一)
- 2026年內(nèi)蒙古電子信息職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案詳解
- T-CASEI 026-2023 在役立式圓筒形鋼制焊接儲罐安全附件檢驗技術(shù)標準
- 砼澆筑工程技術(shù)交底
評論
0/150
提交評論