要求:
链接: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; } }
对于系统菜单那一块的代码还是没弄明白,之后会继续学习,往下进行