课堂测试_WEB界面链接数据库

一,题目:

一、 考试要求:

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

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

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

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

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

5电子邮箱:要求判断正确格式[email protected];(1分)

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

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

二,设计思路:

1,首先按要求编写出WEB网页。

2,在DB.java文件编写中对数据库进行连接和关闭的操作。

3,在Dao.java文件中编写对 sql 语句的拼接以及执行 sql 语句向数据库中添加东西的函数。

4,先在 .jsp 文件中对表单进行前端校验,将符合要求的传递给Selvlet.java.文件。

5,在Selvlet.java 文件导入DB.java文件和Dao.java文件并对表单进行二次校验。

6,若数据合法,调用DB.java的方法,连接数据库将数据通过参数的形式传递给在Dao.java文件中向数据库中添加东西的函数,将数据添加到数据库。若添加成功给出提示并返回WEB网页。若失败,给出提示,并返回WEB网页。

三,源代码

WEB网页:shangke.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册界面</title>
<script type="text/javascript">
/*表单校验*/
function check() {
    f=0;
    var re =  /^[\w\u4e00-\u9fa5]{6,8}$/;  //判断字符串是否为数字和字母组合
    var myPattern = new RegExp("^[a-zA-Z]"); // 以英文字母开头
    var username = document.getElementById("username").value;
    //alert(username.length);
    if(!(username.length>5&&username.length<13)){
        alert("用户名长度错误!");return false;
    }
    else if(!(re.test(username))){
        alert("用户名组成内容错误!");return false;
    }else if(!(myPattern.exec(username))){
        alert("用户名开头必须是字母!");return false;
    }
    var password = document.getElementById("password").value;
    if(password.length<8){f++;alert("密码长度错误!");}    return false;

    var xuehao = document.getElementById("xuehao").value;
    if(xuehao.length!=8){
        alert("学号长度错误!");return false;
    }
    if(xuehao[0]==‘2‘&&xuehao[1]==‘0‘&&xuehao[2]==‘1‘&&xuehao[3]==‘8‘){f++;}
    else{
        alert("学号格式错误!");return false;
    }

    var mail = document.getElementById("mail").value;
    if(/^([a-zA-Z0-9_-])[email protected]([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(mail)){f++;}
    else{
        alert("邮箱格式错误!");return false;
    }
    if(f>1){
        alert("添加成功");
        return true;
    }
    else{
        return false;
    }

}

</script>
</head>
<body background="1.jpg">
<form action="UserServlet?method=add" method="post" onsubmit="return check()"><br/><br/><br/><br/><br/><br/><br/>
<table align="center">
            <tr>
            <td>登入账号:</td>
                <td><input type="text"  id="username" name="username" value="" ></td>
            </tr>
            <tr>
            <td>登入密码:</td>
               <td> <input type="password"  id="password" name="password"  value="" ></td>
            </tr>
            <tr>
            <td>性&nbsp;&nbsp;&nbsp;&nbsp;别:</td>
               <td>
               <select id="sex" name="sex" >
                    <option>--请选择--</option>
                        <option  value="男">男</option>
                        <option  value="女">女</option>
                    </select>
               </td>
            </tr>
            <tr>
            <td>姓&nbsp;&nbsp;&nbsp;&nbsp;名:</td>
               <td> <input type="text"  name="name"   value="" ></td>
            </tr>
            <tr>
            <td>学&nbsp;&nbsp;&nbsp;&nbsp;号:</td>
               <td> <input type="text"  name="xuehao" id="xuehao"  value="" ></td>
            </tr>
            <tr>
            <td>电子邮件:</td>
               <td> <input type="text" id="mail" name="mail"  value="" ></td>
            </tr>
            <tr>
            <td>所在学院:</td>
               <td> <input type="text" id="xueyuan" name="xueyuan"  value="" ></td>
            </tr>
            <tr>
            <td>所在系:</td>
               <td> <input type="text" id="xi" name="xi"  value="" ></td>
            </tr>
            <tr>
            <td>所在班级:</td>
               <td> <input type="text" id="ban" name="ban"  value="" ></td>
            </tr>
            <tr>
            <td>入学年份(届):</td>
               <td>
               <select id="year" name="year">
                    <option>--请选择--</option>

                        <option value="2018">2018</option>
                        <option value="2017">2019</option>
                        <option value="2016">2018</option>
                        <option value="2015">2019</option>
                        <option value="2014">2018</option>
                    </select>
               </td>
            </tr>
            <tr>
            <td>生源地:</td>
               <td>
               <select name="address">
               <option value ="河北省">河北省</option>
               <option value ="北京市">北京市</option>
               <option value ="天津市">天津市</option>
               <option value ="邱县">邱县</option>
               </select>
               </td>
            </tr>
            <tr>
            <td>备注:</td>
               <td> <input type="text" id="beizhu" name="beizhu"  value="" ></td>
            </tr>
            <tr>
                 <td> <button type="submit" >添&nbsp;&nbsp;&nbsp;&nbsp;加</button></td>
            </tr>
        </table>
</form>
</body>
</html>

数据库的连接与关闭:DB.java

package DateBase;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DB {
    public static String db_url = "jdbc:mysql://localhost:3306/web08?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8";//?serverTimezone=GMT%2B8

    public static String db_user = "root";
    public static String db_pass = "root";

    public static Connection getConn () {
        Connection conn = null;

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动
            conn = DriverManager.getConnection(db_url, db_user, db_pass);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return conn;
    }

    /**
     * 关闭连接
     * @param state
     * @param conn
     */
    public static void close (Statement state, Connection conn) {
        if (state != null) {
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    public static void close (ResultSet rs, Statement state, Connection conn) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (state != null) {
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] args) throws SQLException {
        Connection conn = getConn();
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        String sql ="select * from USER";
        pstmt = conn.prepareStatement(sql);
        rs = pstmt.executeQuery();
        if(rs.next()){
            System.out.println("空");
        }else{
            System.out.println("不空");
        }
    }

}

执行sql语句:Dao.java

package Dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import DateBase.DB;
import Entity.FileUploadUtils;
import Entity.User;
import jdk.nashorn.internal.ir.RuntimeNode.Request;

public class Dao {
    public boolean add(String username,String password,String sex,String name,String xuehao,String mail,String xueyuan,String xi,String ban,String year,String address,String beizhu) {
        String sql = "insert into shangke  values (‘" + username + "‘,‘" + password +"‘,‘" + sex +"‘,‘" +name +"‘,‘" + xuehao +"‘,‘" + mail +"‘,‘" +xueyuan +"‘,‘"+xi +"‘,‘"+ban +"‘,‘"+year+"‘,‘"+address +"‘,‘"+beizhu +"‘)";
        // 创建数据库链接
        Connection conn = DB.getConn();
        Statement state = null;
        boolean f = false;
        int a = 0;
        try {
            state = conn.createStatement();
            a = state.executeUpdate(sql);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭z 连接
            DB.close(state, conn);
        }

        if (a > 0) {
            f = true;
        }
        return f;
    }
}

Selvlet:UserSelvlet.java

package Servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import Entity.User;
import Dao.Dao;

/**
 * Servlet implementation class UserServlet
 */
@WebServlet("/UserServlet")
public class UserServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public UserServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
    Dao dao = new Dao();

    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        String method = req.getParameter("method");
        if ("add".equals(method)) {

            add(req, resp);
            //System.out.println("!!!");
        }
    }
    private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
        // TODO Auto-generated method stub
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String sex = req.getParameter("sex");
        String name = req.getParameter("name");
        String xuehao = req.getParameter("xuehao");
        String mail = req.getParameter("mail");
        String xueyuan = req.getParameter("xueyuan");
        String xi = req.getParameter("xi");
        String ban = req.getParameter("ban");
        String year = req.getParameter("year");
        String address = req.getParameter("address");
        String beizhu = req.getParameter("beizhu");
        if(dao.add(username,password,sex,name,xuehao,mail,xueyuan,xi,ban,year,address,beizhu)) {
            req.setAttribute("message", "注册成功!");
            req.getRequestDispatcher("shangke.jsp").forward(req, resp);
        }else {
            req.setAttribute("message", "账号重复,请重新输入!");
            req.getRequestDispatcher("shangke.jsp").forward(req, resp);
        }
    }

}

四,运行测试

1,正确添加

2,登入账号校验:

3,密码校验:

4, 学号校验:

5,邮箱校验:

原文地址:https://www.cnblogs.com/20183544-wangzhengshuai/p/11714698.html

时间: 2024-10-27 02:37:20

课堂测试_WEB界面链接数据库的相关文章

课堂测试web写注册界面

一.题目:WEB界面链接数据库(未完全完成) 1.考试要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分) 3性别:要求用单选框或下拉框实现,选项只有“男”或“女”:(1分) 4学号:要求八位数字组成,前四位为“2018”开头,输入自己学号:(1分) 5姓名:输入自己的姓名: 5电子邮箱:要求判断正确格式[email protected]:(1分) 6点击“添加”按钮,将

课堂测试1 登录界面

1.网站系统开发需要什么技术 前台photoshop(美工必学的)+dreaweaver(css+div)+javacript,后台php .net  asp 等编程语言,要想做好网站HTML.JAVASCRIPT.CSS.数据库.服务器配置必须要学会. 在网上查了一下,要做好一个网站系统,要学习的技术有很多,简单列举一下: (1)java Java语言体系比较庞大,包括多个模块.从WEB项目应用角度讲有JSP.Servlet.JDBC.JavaBean(Application)四部分技术. (

第一次被要求连接数据库的课堂测试

1.     题目要求 按照图片要求设计添加新课程界面.(0.5分) 在后台数据库中建立相应的表结构存储课程信息.(0.5分) 实现新课程添加的功能. 要求判断任课教师为王建民.刘立嘉.刘丹.王辉.杨子光五位教师的其中一位.(0.5分) 要求上课地点开头为"一教.二教.三教.基教"中的一种.(0.5分) 实现数据存储功能.(3分) 将课堂练习设计思想,源程序代码.运行结果截图的开发过程,并按照PSP0级的要求记录开发过程中的项目计划日志.时间记录日志.缺陷记录日志. 课堂练习的源代码上

Java课堂测试——课程管理

本周的Java课,王老师让学长们就上周的课堂测试内容进行了讲解.本次讲解加强了我对JavaWeb的项目的认识.虽然JSP文件和Servlet文件里面涉及到的各个方法我不能很好的理解,可是关于表单提交,和数据库的信息处理等代码,我勉强可以理解它们的作用,并可以根据自己的需要对现有的代码进行修改,实现自己需要的功能.就本周的测试而言,我可以实现大部分要求的功能,但是有很多不足之处,比如界面不美观,无法实现模糊查找等.我将对本次的实验做出如下总结. 首先创建一个类,在类里面实现数据库的连接,如下所示.

学会写出"图形界面+数据库"的程序要多长时间?

[来信] 贺老师好,我也是在自学c++看了您写的启蒙一,感触很大,太谢谢了,我现在做网络运维,会接触到部份erp的内容,,想请老师指点下.从刚开始学c++到能写出个图形化界面并与数据库简单交互的,这样一个小程序,如果不考虑数据库方面的问题,正常要用多长时间,,? [回复] 第一个时间问题,我觉得是因人而异的.这要看个人以前的积累,以及学习能力.所以我无法为你做的估计,事实上,这确实因人而异. 我昨天在手机上看到你的私信时,想到的就是这些.今天开电脑要回复了,想想这是个很有意思的问题,多说一点.

软件工程系统开发课堂测试01

这次测试我们尝试的编辑了河北省重大技术需求证据系统,程序需求用户注册,用户登陆,系统主机面,需求征集,浏览需求,需求审核,修改密码等功能,并且需要进行数据库的连接,这些内容大部分在上一学期就有了些许的掌握,但在课堂测试的过程中,我还是只完成了部分功能,我只满足了用户注册,用户登陆,需求征集,修改密码这几个功能,并与数据库正常连接,图形化界面也并没有完成,下面我将展示我的代码. //Dao.java package Dao; import java.sql.Connection; import j

链接数据库 远程事务的处理方式

环境:windows server 2003 SP2 + mssql 2000 SP4 最近在开发一个报表查询系统,使用到链接数据库技术,由于第一次接触该技术,所以在开发的过程中遇到了重重困难,幸好有百度,幸好有热心的同事,问题也如愿以偿的解决了. 在整个开发过程中使用了两种链接技术: 1.ODBC链接方式 --建立链接服务器 EXEC sp_addlinkedserver 'remote_queueRpt','','MSDASQL',NULL,NULL,'DRIVER={SQL Server}

C#链接数据库:SQL Server 2008

自己学习C#编程,在WinForm编程中,代码测试连接数据库. 现在sqlserver中测试使用的数据库能否以指定的用户名和密码登录. 如图所示,计算机名为administrator,数据库实例为sqlexpress,登录名为testuser,密码设置为123456,用户名映射数据库为TestDB. 链接数据库的的代码: // windows验证方式 string connectionStringTest = @"Data Source=ADMINISTRATOR\SQLEXPRESS;Init

20162307 课堂测试 hash

20162307 课堂测试 hash 作业要求 利用除留余数法为下列关键字集合的存储设计hash函数,并画出分别用开放寻址法和拉链法解决冲突得到的空间存储状态(散列因子取0.75) 关键字集合:85,75,57,60,65,(你的8位学号相加值),98,74,89,12,5,46,97,13,69,52,92 实验知识点 开放寻址法 基本思想 在散列表中形成一个探查序列,沿此序列逐单元进行查找,直到找到一个空的单元时将新结点放入. 拉链法 基本思想 将所有关键字为同义词的结点链接到同一个单链表中