在Java web模板的上進行編寫


要求:

鏈接: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;
    }
    
    
    
}

對於系統菜單那一塊的代碼還是沒弄明白,之后會繼續學習,往下進行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM