zoukankan      html  css  js  c++  java
  • Javaweb课堂测试

    一、 考试要求:

     

    1登录账号:要求由612位字母、数字、下划线组成,只有字母可以开头;(1分)

    2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母、数字组成。(1分)

    3性别:要求用单选框或下拉框实现,选项只有“男”或“女”;(1分)

    4学号:要求八位数字组成,前四位为2018”开头,输入自己学号;(1分)

    5姓名:输入自己的姓名;

    5电子邮箱:要求判断正确格式xxxx@xxxx.xxxx;(1分)

    6点击“添加”按钮,将学生个人信息存储到数据库中。(3分)

    7可以演示连接上数据库。(2分)

    代码如下:

    User.java

      1 package Bean;
      2 
      3 public class User {
      4     private String user;
      5     private String password;
      6     private String sex;
      7     private String name;
      8     private String number;
      9     private String email;
     10     private String school;
     11     private String major;
     12     private String classroom;
     13     private String enteryear;
     14     private String city;
     15     private String comment;
     16 
     17 
     18     public String getNumber() {
     19         return number;
     20     }
     21 
     22     public void setNumber(String number) {
     23         this.number = number;
     24     }
     25 
     26     public String getSchool() {
     27         return school;
     28     }
     29 
     30     public void setSchool(String school) {
     31         this.school = school;
     32     }
     33 
     34     public String getMajor() {
     35         return major;
     36     }
     37 
     38     public void setMajor(String major) {
     39         this.major = major;
     40     }
     41 
     42     public String getClassroom() {
     43         return classroom;
     44     }
     45 
     46     public void setClassroom(String classroom) {
     47         this.classroom = classroom;
     48     }
     49 
     50     public String getEnteryear() {
     51         return enteryear;
     52     }
     53 
     54     public void setEnteryear(String enteryear) {
     55         this.enteryear = enteryear;
     56     }
     57 
     58     public String getComment() {
     59         return comment;
     60     }
     61 
     62     public void setComment(String comment) {
     63         this.comment = comment;
     64     }
     65 
     66     public String getUser() {
     67         return user;
     68     }
     69 
     70     public void setUser(String user) {
     71         this.user = user;
     72     }
     73 
     74     public String getPassword() {
     75         return password;
     76     }
     77 
     78     public void setPassword(String password) {
     79         this.password = password;
     80     }
     81 
     82     public String getName() {
     83         return name;
     84     }
     85 
     86     public void setName(String name) {
     87         this.name = name;
     88     }
     89 
     90     public String getSex() {
     91         return sex;
     92     }
     93 
     94     public void setSex(String sex) {
     95         this.sex = sex;
     96     }
     97 
     98     public String getCity() {
     99         return city;
    100     }
    101 
    102     public void setCity(String city) {
    103         this.city = city;
    104     }
    105 
    106     public String getEmail() {
    107         return email;
    108     }
    109 
    110     public void setEmail(String email) {
    111         this.email = email;
    112     }
    113 
    114     public User(String user1, String password, String sex,String name, String number, String email,String school, String major,String classroom,String enteryear,String city,String comment ) {
    115 
    116         this.user = user1;
    117         this.password = password;
    118         this.sex = sex;
    119         this.name = name;
    120         this.number = number;
    121         this.email = email;
    122         this.school = school;
    123         this.major = major;
    124         this.classroom = classroom;
    125         this.enteryear = enteryear;
    126         this.city = city;
    127         this.comment = comment;
    128         
    129 
    130     }
    131 
    132 }

    userdao.java

     1 package dao;
     2 
     3 import java.sql.Connection;
     4 import java.sql.Statement;
     5 
     6 import Bean.User;
     7 import util.DBUtil;
     8 
     9 public class userdao {
    10   public static boolean add(User user) {
    11       String sql = "insert into denglu(user,password,sex,name,number,email,school,major,classroom,enteryear,city,comment)values('"+user.getUser()+"','"+user.getPassword()+"','"+user.getSex()+"','"+user.getName()+"','"+user.getNumber()+"','"+user.getEmail()+"','"+user.getSchool()+"','"+user.getMajor()+"','"+user.getClassroom()+"','"+user.getEnteryear()+"','"+user.getCity()+"','"+user.getComment()+"')";
    12         // 创建数据库链接
    13         Connection conn = DBUtil.getConn();
    14         Statement state = null;
    15         boolean f = false;
    16         int a = 0;
    17         try {
    18             state = conn.createStatement();
    19             a = state.executeUpdate(sql);
    20         } catch (Exception e) {
    21             e.printStackTrace();
    22         } finally {
    23             // 关闭连接
    24             DBUtil.close(state, conn);
    25         }
    26 
    27         if (a > 0) {
    28             f = true;
    29         }
    30         return f;
    31   }
    32 }

    adServlet.java

      1 package Servlet;
      2 import java.io.IOException;
      3 import java.io.PrintWriter;
      4 import java.sql.Connection;
      5 import java.sql.ResultSet;
      6 import java.sql.Statement;
      7 import java.util.regex.Matcher;
      8 import java.util.regex.Pattern;
      9 
     10 import javax.servlet.ServletException;
     11 import javax.servlet.annotation.WebServlet;
     12 import javax.servlet.http.HttpServlet;
     13 import javax.servlet.http.HttpServletRequest;
     14 import javax.servlet.http.HttpServletResponse;
     15 import javax.servlet.http.HttpSession;
     16 
     17 import Bean.User;
     18 import dao.userdao;
     19 import util.DBUtil;
     20 
     21 /**
     22  * Servlet implementation class adServlet
     23  */
     24 @WebServlet("/adServlet")
     25 public class adServlet extends HttpServlet {
     26     private static final long serialVersionUID = 1L;
     27        
     28     /**
     29      * @see HttpServlet#HttpServlet()
     30      */
     31     public adServlet() {
     32         super();
     33         // TODO Auto-generated constructor stub
     34     }
     35 
     36     /**
     37      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     38      */
     39     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     40         // TODO Auto-generated method stub
     41                 request.setCharacterEncoding("UTF-8");
     42                 response.setContentType("text/html;charset=UTF-8");
     43                 String user1=request.getParameter("user");
     44                 String password=request.getParameter("password");
     45                 String sex=request.getParameter("sex");
     46                 String name=request.getParameter("name");
     47                 String number=request.getParameter("number");
     48                 String email=request.getParameter("email");
     49                 String school=request.getParameter("school");
     50                 String major=request.getParameter("major");
     51                 String classroom=request.getParameter("classroom");
     52                 String enteryear=request.getParameter("enteryear");
     53                 String city=request.getParameter("city");
     54                 String comment=request.getParameter("comment");
     55                 Pattern p = null;
     56                 Pattern s = null;
     57                 Pattern t = null;
     58                 Pattern q = null;
     59                 Matcher m = null;
     60                 Matcher n = null;
     61                 Matcher y = null;
     62                 Matcher w = null;
     63                 boolean b = false;
     64                 boolean c = false;
     65                 boolean u = false;
     66                 boolean e = false;
     67                 p = Pattern.compile("^[2][0][1][8][\d]{4}$"); //判断学号
     68                 m = p.matcher(number);
     69                 b = m.matches();
     70                 s= Pattern.compile("^[A-Za-z][A-Za-z0-9_]{5,11}$") ;
     71                 n = s.matcher(user1);
     72                 c =n.matches();
     73                 t= Pattern.compile("^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$") ;
     74                 y = t.matcher(email);
     75                 u =y.matches();
     76                 q= Pattern.compile("^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8}$") ;
     77                 w = q.matcher(password);
     78                 e =w.matches();
     79                 if(!c){
     80                     PrintWriter out = response.getWriter();
     81                     out.print("<script>alert('用户名格式不正确!');window.history.go(-1)</script>");
     82                 }else if(!e){
     83                     PrintWriter out = response.getWriter();
     84                     out.print("<script>alert('密码格式不正确!');window.history.go(-1)</script>");
     85                 }else if(!b) {
     86                     PrintWriter out = response.getWriter();
     87                     out.print("<script>alert('学号格式错误!');window.history.go(-1)</script>");
     88             }else  if(!u){
     89                 PrintWriter out = response.getWriter();
     90                 out.print("<script>alert('邮箱格式不正确!');window.history.go(-1)</script>");
     91             }else
     92             {
     93                 Connection conn = DBUtil.getConn();
     94                 Statement state = null;        
     95                 String sql="select user from denglu where user='"+user1+"'";
     96                 try {
     97                     state = conn.createStatement();
     98                     ResultSet a= state.executeQuery(sql);
     99                     if(a.next()) 
    100                     {
    101                         PrintWriter out = response.getWriter();
    102                         out.println("<script>alert('用户名已存在!');</script>");
    103                         out.println("<script>window.history.go(-1)</script>");    
    104                     }else
    105                     {
    106                         User useradd=new User( user1, password,sex,name,number,email,school,major,classroom,enteryear,city,comment);
    107                         userdao.add(useradd);
    108                         PrintWriter out = response.getWriter();
    109                         out.println("<script>alert('添加成功!');</script>");
    110                         //out.println("<script>window.history.go(-1)</script>");
    111                         request.getRequestDispatcher("test.jsp").forward(request, response);
    112                     }
    113                 }catch(Exception e1) {
    114                     e1.printStackTrace();
    115                 } 
    116            }
    117             }
    118 
    119     /**
    120      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    121      */
    122     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    123         // TODO Auto-generated method stub
    124         doGet(request, response);
    125     }
    126 
    127 }

    DBUtil.java

     1 package util;
     2 
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.PreparedStatement;
     6 import java.sql.ResultSet;
     7 import java.sql.SQLException;
     8 import java.sql.Statement;
     9 
    10 /**
    11  * 数据库连接工具
    12 
    13  *
    14  */
    15 public class DBUtil {
    16     
    17     public static String db_url = "jdbc:mysql://localhost:3306/test?&useSSL=false&serverTimezone=UTC";
    18     public static String db_user = "root";
    19     public static String db_pass = "sS20000608";
    20     
    21     public static Connection getConn () {
    22         Connection conn = null;
    23         
    24         try {
    25             Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动
    26             conn = DriverManager.getConnection(db_url, db_user, db_pass);
    27         } catch (Exception e) {
    28             e.printStackTrace();
    29         }
    30         
    31         return conn;
    32     }
    33     
    34     /**
    35      * 关闭连接
    36      * @param state
    37      * @param conn
    38      */
    39     public static void close (Statement state, Connection conn) {
    40         if (state != null) {
    41             try {
    42                 state.close();
    43             } catch (SQLException e) {
    44                 e.printStackTrace();
    45             }
    46         }
    47         
    48         if (conn != null) {
    49             try {
    50                 conn.close();
    51             } catch (SQLException e) {
    52                 e.printStackTrace();
    53             }
    54         }
    55     }
    56     
    57     public static void close (ResultSet rs, Statement state, Connection conn) {
    58         if (rs != null) {
    59             try {
    60                 rs.close();
    61             } catch (SQLException e) {
    62                 e.printStackTrace();
    63             }
    64         }
    65         
    66         if (state != null) {
    67             try {
    68                 state.close();
    69             } catch (SQLException e) {
    70                 e.printStackTrace();
    71             }
    72         }
    73         
    74         if (conn != null) {
    75             try {
    76                 conn.close();
    77             } catch (SQLException e) {
    78                 e.printStackTrace();
    79             }
    80         }
    81     }
    82 
    83     /*public static void main(String[] args) throws SQLException {
    84         Connection conn = getConn();
    85         PreparedStatement pstmt = null;
    86         ResultSet rs = null;
    87         String sql ="select * from course";
    88         pstmt = conn.prepareStatement(sql);
    89         rs = pstmt.executeQuery();
    90         if(rs.next()){
    91             System.out.println("空");
    92         }else{
    93             System.out.println("不空");
    94         }
    95     }*/
    96 }

    web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
     3  
     4   <display-name>wangye</display-name>
     5   <welcome-file-list>
     6     <welcome-file>index.html</welcome-file>
     7     <welcome-file>index.htm</welcome-file>
     8     <welcome-file>index.jsp</welcome-file>
     9     <welcome-file>default.html</welcome-file>
    10     <welcome-file>default.htm</welcome-file>
    11     <welcome-file>default.jsp</welcome-file>
    12   </welcome-file-list>
    13    <servlet>
    14     <description></description>
    15     <display-name>adServlet</display-name>
    16     <servlet-name>adServlet</servlet-name>
    17     <servlet-class>Servlet.adServlet</servlet-class>
    18   </servlet>
    19   <servlet-mapping>
    20     <servlet-name>adServlet</servlet-name>
    21     <url-pattern>/Servlet/adServlet</url-pattern>
    22   </servlet-mapping>
    23 </web-app>

    test.jsp

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="UTF-8">
     7 <title>Insert title here</title>
     8 </head>
     9 <body >
    10     <form action="adServlet" method="post">
    11         <div align="center" style="margin-top: 100px">
    12             <table align="center" border="0">
    13                 <tr>
    14                     <td>登录账号:</td>
    15                     <td><input type="text" name="user" ></td>
    16                 </tr>
    17                 
    18                 <tr>
    19                     <td>登录密码:</td>
    20                     <td><input type="password" name="password" ></td>
    21                 </tr>
    22                 <tr>
    23                 <td>&nbsp;&nbsp;&nbsp;&nbsp;别:</td>
    24                     <td><select name="sex">
    25                             <option value="男"></option>
    26                             <option value="女"></option>
    27                     </select>
    28                     <td>
    29                 </tr>
    30                 <tr>
    31                     <td>&nbsp;&nbsp;&nbsp;&nbsp;名:</td>
    32                     <td><input type="text" name="name"></td>
    33                 </tr>
    34                 <tr>
    35                     <td>&nbsp;&nbsp;&nbsp;&nbsp;号:</td>
    36                     <td><input type="text" name="number"></td>
    37                 </tr>
    38                 <tr>
    39                     <td>电子邮件:</td>
    40                     <td><input type="text" name="email"></td>
    41                 </tr>
    42                 <tr>
    43                     <td>&nbsp;&nbsp;&nbsp;&nbsp;院:</td>
    44                     <td><input type="text" name="school"></td>
    45                 </tr>
    46                 <tr>
    47                     <td>所在&nbsp;&nbsp;系:</td>
    48                     <td><input type="text" name="major" ></td>
    49                 </tr>
    50                 <tr>
    51                     <td>所在班级:</td>
    52                     <td><input type="text" name="classroom" ></td>
    53                 </tr>
    54                 <tr>
    55                 <td>入学年份(届):</td>
    56                     <td><select name="enteryear">
    57                             <option value="2016">2016</option>
    58                             <option value="2017">2017</option>
    59                             <option value="2018">2018</option>
    60                             <option value="2019">2019</option>
    61                     </select>
    62                     <td>
    63                 </tr>
    64                 <tr>
    65                     <td>生源&nbsp;&nbsp;地:</td>
    66                     <td><input type="text" name="city" ></td>
    67                 </tr>
    68                 <tr>
    69                     <td>&nbsp;&nbsp;&nbsp;&nbsp;注:</td>
    70                     <td><textarea name="comment" rows="4" cols="20"></textarea></td>
    71                 </tr>
    72             </table>
    73         </div>
    74 
    75         <div align="center" style="margin-top: 30px">
    76             <input type="submit" value="添加">
    77         </div>
    78 
    79     </form>
    80 </body>
    81 </html>

    注册登录界面如下:

    注:

    1.如果不满足:612位字母、数字、下划线组成,只有字母可以开头

     则

     2.如果密码不是8位且不是由字母、数字组成

    3.如果学号不是8位且前四位为“2018”开头

     4.如果邮箱不是******@***.***的格式

     5.若用户名已经存在

     6.添加成功后数据库:

     7.servlet文件不要随意更改,也不能用别人的复制过来,容易造成Tomcat不能运行出现错误。

    8.一定要导入一个jar包在此路径下

    9.web.xml文件也不要随意更改,在创建web工程时,不直接点击finish,点击next,next,在左下角有个

     可以勾选这个,就不用管web了。

    10.一定是eclipse企业版javaEE,不然在纯净版的eclipse安装插件很费劲。而且新版本有的时候插件难找,可以去官网下载一个包,不是安装程序的那个,直接下载过来就可以直接使用的。

  • 相关阅读:
    light oj 1205
    light oj 1068
    10月29日 小小犇的流水账
    小奇的数列
    10月28日 小小犇的流水账
    10月27日 小小犇的流水账
    2018.10.27 搬砖题解
    10月26日 小小犇的流水账
    10月25日 小小犇的流水账
    10月24日 小小犇的流水账
  • 原文地址:https://www.cnblogs.com/Aming-/p/11716908.html
Copyright © 2011-2022 走看看