要求:
鏈接:https://pan.baidu.com/s/15NdAt-aiv-X9sRbMSfXYXQ
提取碼:7agw
web模板:
鏈接:https://pan.baidu.com/s/1Af33mSflqFHj-1gj4sOOpw
提取碼:wpye
對於這個web模板的修改是以測試的形式進行的,以前只是從零開始寫一些簡單的網頁,沒有接觸過在模板的基礎上修改網頁,剛剛看到要求時,不知道從哪下手。
測試過后,感覺先了解模板的基本架構很重要,然后再按照要求去修改。我沒有完成全部要求,只實現了一些,在編碼的過程中遇到了許多問題,有的還待解決,以
后會進一步學習並解決問題。
模板的登錄界面
登錄的servlrt路徑在login.html中已給出,下圖
登錄用的servlet
package com.Servlet; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.DBUtil.DBUtil; public class LoginServlet extends HttpServlet{ private static final long serialVersionUID = 1L; //當從jsp跳轉到servlet類時,首先執行service函數(這是定理) protected void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException { req.setCharacterEncoding("UTF-8");//設置字符集,避免亂碼 String username = req.getParameter("user");//獲取jsp界面的username1和password1的值 String password = req.getParameter("pwd"); Connection conn = DBUtil.getConn();//這里就是從DBUtil類里面得到連接 Statement state =null; ResultSet rs = null; int f=0; try { String sql = "select * from user";//SQL語句 state = conn.createStatement(); rs=state.executeQuery(sql); while(rs.next()) { if(rs.getString("password").equals(password) && rs.getString("username").equals(username)) { f=1; } } } catch(Exception e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } if(f==1) { System.out.println("登錄成功!"); resp.sendRedirect(req.getContextPath()+"/main.html"); } else { System.out.println("登錄失敗!"); resp.sendRedirect(req.getContextPath()+"/login.html"); } } }
將該servlet的路徑配置成上面所看到的路徑
下面是xml文件
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>WJDC_web</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>CreateUserServlet</servlet-name> <servlet-class>com.Servlet.CreateUserServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CreateUserServlet</servlet-name> <url-pattern>/CreateUserServlet/CreateUserServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.Servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/dengluServlet</url-pattern> </servlet-mapping> </web-app>
注冊界面的jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <%@page import="com.Servlet.*"%> <%@page import="com.Bean.*"%> <%@page import="com.DBUtil.*"%> <%@page import="com.Servlet.*"%> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> </style> </head> <body> <div class="colorcloth"> <div class="container"> <section> <form action="${pageContext.request.contextPath}/CreateUserServlet/CreateUserServlet" method="post" onsubmit="return check()"> <!---${pageContext.request.contextPath}的目的是找到主工程的名字,/Servlet/Userservlet就是web.xml下面配置的路徑,也就是servlet的路徑---> <span class="user">用戶名</span> <input type="text" name="user" class="buser" id="iuser" placeholder=" Usename"> <br/> <span class="password">密碼</span> <input type="password" name="password" class="bpassword" id="ipassword" placeholder=" Password"> <br/> <span class="again-password">確認密碼</span> <input type="password" name="again-password" class="bagain-password" id="iagain-password" placeholder=" Password"> <br/> <span class="phone">手機號碼</span> <input type="text" name="phone" class="bphone" id="iphone" placeholder=" Phone"> <br/> <span class="unit">所屬單位</span> <input type="text" name="unit" class="bunit" id="iunit" placeholder=" Unit"> <br/> <input type="submit" value="創建" class="butn"> </form> </section> <c:if test="${param.createerrortemp.equals('1') }"> <div class="createerror" id="icreateerror"> <p>兩次輸入的密碼不一致</p> </div> </c:if> </div> </div> <script type="text/javascript"> function check() { var username = document.getElementById("iuser"); var password = document.getElementById("ipassword"); var againpassword = document.getElementById("iagain-password"); var phone = document.getElementById("iphone"); var unit = document.getElementById("iunit"); var changdu = phone.value.length; //非空 if(username.value == '') { alert('用戶名為空'); username.focus(); return false; } if(password.value == '') { alert('密碼為空'); password.focus(); return false; } if(againpassword.value == '') { alert('第二次輸入密碼為空'); againpassword.focus(); return false; } if(phone.value == '') { alert('電話號碼為空'); phone.focus(); return false; } if(changdu != 11){ alert('電話號碼長度錯誤'); phone.focus(); return false; } if(unit.value == '') { alert('所屬單位為空'); unit.focus(); return false; } if(password.value != againpassword.value) { alert('密碼不一致'); password.focus(); return false; } } </script> </body> </html>
注冊所用的servlet
package com.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.Dao.*; public class CreateUserServlet extends HttpServlet { private static final long serialVersionUID = 1L; //當從jsp跳轉到servlet類時,首先執行service函數(這是定理) protected void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException { req.setCharacterEncoding("UTF-8");//設置字符集,避免亂碼 String username = req.getParameter("user"); String password = req.getParameter("password"); String againpassword = req.getParameter("again-password"); String phone = req.getParameter("phone"); String unit = req.getParameter("unit"); if(!(password.equals(againpassword))) { resp.sendRedirect(req.getContextPath()+"/register.jsp?createerrortemp=1"); } else { Dao dao = new Dao(); dao.createUser(username, password, phone, unit); resp.sendRedirect(req.getContextPath()+"/main.html"); } } }
Dao文件
package com.Dao; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.Bean.*; import com.DBUtil.DBUtil; public class Dao { //創建賬戶 public int createUser(String usernamee, String passwordd, String phonee, String unitt) { String username = usernamee; String password = passwordd; String phone = phonee; String unit = unitt; Connection conn = DBUtil.getConn();//這里就是從DBUtil類里面得到連接 Statement state =null; String sql = null; sql = "insert into user (username,password,phone,unit) values ('"+username+"','"+password+"','"+phone+"','"+unit+"')"; try { state = conn.createStatement(); state.executeUpdate(sql);//執行sql語句 conn.close(); } catch (SQLException e) { e.printStackTrace(); } return 0; } }
對於系統菜單那一塊的代碼還是沒弄明白,之后會繼續學習,往下進行