程式描述:
編程實現某網站使用者註冊功能,要求編寫JSP頁面供使用者輸入註冊資訊,在接收頁面擷取使用者輸入的資料,在瀏覽器上輸出的同時,將資訊存放到資料庫裡。
代碼:
註冊HTML 頁面:
<%@ page contentType="text/html;charset=utf-8" %><%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>登入頁面</title></head><body><p>註冊資訊</p><br/> <form name="loginForm" method="post" action="NewRecord.jsp"> <table> <tr> <td>姓 名:<input type="text" name="username" id="username"></td> </tr> <tr> <td>密 碼:<input type="password" name="password" id="password"></td> </tr> <tr> <td>確定密碼:<input type="password" name="passwordq" id="passwordq"></td> </tr> <tr> <td>性 別:<input type="text" name="psex" id="pSex"></td> </tr> <tr> <td>學 曆:<input type="text" name="plever" id="pLever"></td> </tr> <tr> <td>註冊時間:<input type="text" name="ptime" id="ptime"></td> </tr> <tr> <td><input type="submit" value="註冊" style="background-color:pink"> </td> </tr> </table> </form></body></html>
註冊jsp 頁面
<%@ page contentType="text/html;charset=utf-8" %><%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%><HTML><BODY bgcolor=cyan><% request.setCharacterEncoding("utf-8"); String na=request.getParameter("username"); String pa=request.getParameter("password"); String paq=request.getParameter("passwordq"); String ts=request.getParameter("psex"); String tl=request.getParameter("plever"); String tt=request.getParameter("ptime"); %> <% if(!pa.equals(paq)) { out.print("你的密碼不一致,請重新輸入\n"); } %><% %> <BR>你的資訊為: <br/> 姓 名:<%=na %><br/> 密 碼:<%=pa %><br/> 性 別:<%=ts %><br/> 學 曆:<%=tl %><br/>註冊時間:<%=tt %><br/><inquire:AddRecord psex="<%=ts %>" password="<%=pa %>" plever="<%=tl %>" ptime="<%=tt %>" username="<%=na %>"></inquire:AddRecord><BR> </BODY></HTML>
tag 檔案:
<%@ tag pageEncoding="utf-8" %><%@ tag import="java.sql.*" %><%@ attribute name="username" required="true" %><%@ attribute name="password" required="true" %><%@ attribute name="psex" required="true" %><%@ attribute name="plever" required="true" %><%@ attribute name="ptime" required="true" %><% String condition= "INSERT INTO product VALUES"+"("+"'"+username+"','"+password+"','"+psex+"','"+plever+"','"+ptime+"'"+")"; try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch(Exception e) {} Connection con; Statement sql; ResultSet rs; try{ String uri= "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=mystar"; con=DriverManager.getConnection(uri,"sa","sa"); sql=con.createStatement(); sql.executeUpdate(condition); con.close(); } catch(Exception e) { out.print(""+e); }%>
注意問題:
【問題一】 漢字亂碼
在每個jsp 頁面 中加上 request.setCharacterEncoding("utf-8");
【問題二】 tag 串連資料庫失敗
首先檢查要串連的資料庫是否 一致(本人 弄亂了資料庫 可吃大虧了~~白花花的時間啊)
【問題三】用tag中的 attribute 傳參時 有的能傳 有的不能傳
從網上搜了好幾天也沒找的答案
當出現問題時 ,我們總是該來該去,別忘了重啟tomcat
其次 要注意 attribute 裡的命名 ,第一個字母 小寫第二個大寫 的 通通不行
這點害的我好幾天沒睡好啊
以此紀念逝去的時間