SSH整合--1
??? 簡單說明:整個整合過程使用mysql數據庫、Myeclipse 8.5,框架使用struts2.1.6,hibernate3.x,spring2.5
功能:實現簡單的用戶登錄
0. 簡單的流程
?
?
?1. Resister.jsp
| <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> ? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ? <head> ? <title>注冊首頁</title> ? </head> ? ? <body> <form action="registerDeal.jsp" method="post"> 用戶名:<input type="text" name="username"/><br> 密碼:<input type="password" name="password"/><br> 確認密碼:<input type="password" name="password2"/><br> <input type="submit" value="提交" /> </form> ? </body> </html> ? |
?
?
2. RegisterDeal.jsp
| <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="java.sql.Connection" %> <%@ page import="java.sql.DriverManager" %> <%@ page import="java.sql.PreparedStatement" %> <%@ page import="java.sql.SQLException" %> <%@ page import="java.sql.ResultSet" %> ? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ? <head> ? <title>登錄處理</title> ? </head> ? ? <body> <% String username = request.getParameter("username").trim(); String password = request.getParameter("password").trim(); String password2 = request.getParameter("password2").trim(); ? // 簡單驗證,不填其他的復雜邏輯 // save in database Connection conn = null; PreparedStatement pstat = null; String url = "jdbc:mysql://localhost:3306/ssh"; String user = "root"; String pw = "mysql123"; try { Class.forName("com.mysql.jdbc.Driver"); try { conn = DriverManager.getConnection(url, user, pw); String selectSql = "select count(*) from tb_user where username=?"; pstat = conn.prepareStatement(selectSql); pstat.setString(1, username); ResultSet rs = pstat.executeQuery(); rs.next(); int count = rs.getInt(1); if(count > 0) { //response.sendRedirect("registerFail.jsp"); request.getRequestDispatcher("registerFail.jsp").forward(request, response); return; } ? String sql = "insert into tb_user(id, username, password) values(null, ?, ?)"; pstat = conn.prepareStatement(sql); pstat.setString(1, username); pstat.setString(2, password); pstat.executeUpdate(); ? //response.sendRedirect("registerSucess.jsp"); request.setAttribute("username", username); request.getRequestDispatcher("registerSucess.jsp").forward(request, response); } catch (SQLException e) { e.printStackTrace(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } finally { if (null != pstat) pstat.close(); ? if (null != conn) conn.close(); } %>? ? </body> </html> ? |
在這個jsp里,實現了從請求里讀取數據,連接數據庫,判斷數據庫中是否已經存在要注冊的用戶名,如果不存在則允許當前用戶注冊,否則不允許注冊。如果 注冊成功就跳到顯示注冊成功信息的頁面registerSucess.jsp,否則跳到注冊失敗的頁面registerFail.jsp。為了簡單沒有添加其他復雜的邏輯和功能。整個過程流程是很簡單的。
3. registerSucess.jsp
| <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> ? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ? <head> ? <title>注冊成功</title> ? </head> ? ? <body> registerSucess... <br/> welcome <font color="red" size="10px"><%=request.getAttribute("username") %></font> ? </body> </html> ? |
?
4. registerFail.jsp
| <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> ? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ? <head> ? <title>注冊失敗</title> ? </head> ? ? <body> registerFail... ? </body> </html> ? |
?
5. 數據庫sql
| Create database ssh01; Use ssh01; Drop table tb_user; Create tabel tb_user( Id int auto_increment, Username varchar(30), Password varchar(30), Primary key(id) ); |
?
在工程的WEB-INFO下的lib目錄下添加mysql的驅動jar包。部署項目并運行,測試項目是否成功。當數據庫不存在相同的用戶名時注冊成功,否則注冊失敗!!
| ? |
?
| ? |
?
| ? |
?
6. 簡單分析:
| ? |
此工程沒有任何的模式或者是框架,所有的業務邏輯、操作數據庫操作等都在jsp里實現,基本上沒什么難點。但是維護修改比較麻煩!基本上不能重用。
版權聲明:本文為博主原創文章,未經博主允許不得轉載。
轉載于:https://www.cnblogs.com/ubuntuvim/p/4796556.html
總結
- 上一篇: hdu1466(dp)
- 下一篇: FreeSWITCH安装报错“You m