Java web 小测验

题目要求:

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

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

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

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

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

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

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

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

1.数据库连接

package zzm;

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

/**
 * 数据库连接工具
 * @author Hu
 *
 */
public class DBUtil {

    public static String db_url = "jdbc:mysql://localhost:3306/zzm?useSSL=false";
    public static String db_user = "root";
    public static String db_pass = "********";

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

        try {
            Class.forName("com.mysql.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();
            }
        }
    }

}

2..创建所需变量

package zzm;

public class Zzm {
    private int id;
    private String zhanghao;
    private String password;
    private String sex;
    private String number;
    private String name;
    private String mail;
    private String xueyuan;
    private String zhuanye;
    private String banji;
    private String year;
    private String shengyuandi;
    private String beizhu;
    public int getId()
    {
        return id;
    }
    public void setId()
    {
        this.id=id;
    }
    public String getZhanghao()
    {
        return zhanghao;
    }
    public void setZhanghao()
    {
        this.zhanghao=zhanghao;
    }
    public String getPassword()
    {
        return password;
    }
    public void setPassword()
    {
        this.password=password;
    }
    public String getSex()
    {
        return sex;
    }
    public void setSex()
    {
        this.sex=sex;
    }
    public String getName()
    {
        return name;
    }
    public void setName()
    {
        this.name=name;
    }
    public String getMail()
    {
        return mail;
    }
    public void setMail()
    {
        this.mail=mail;
    }
    public String getNumber()
    {
        return number;
    }
    public void setNumber()
    {
        this.number=number;
    }
    public String getXueyuan()
    {
        return xueyuan;
    }
    public void setXueyuan()
    {
        this.xueyuan=xueyuan;
    }
    public String getZhuanye()
    {
        return zhuanye;
    }
    public void setZhuanye()
    {
        this.zhuanye=zhuanye;
    }
    public String getBanji()
    {
        return banji;
    }
    public void setBanji()
    {
        this.banji=banji;
    }
    public String getYear()
    {
        return year;
    }
    public void setYear()
    {
        this.year=year;
    }
    public String getShengyuandi()
    {
        return shengyuandi;
    }
    public void setShengyuandi()
    {
        this.shengyuandi=shengyuandi;
    }
    public String getBeizhu()
    {
        return beizhu;
    }
    public void setBeizhu()
    {
        this.beizhu=beizhu;
    }
    public Zzm() {}
    public Zzm(int id,String zhanghao,String password,String sex,String name,String number,String mail,String xueyuan,String zhuanye,String banji,String year,String shengyuandi,String beizhu)
    {
        this.id=id;
        this.zhanghao = zhanghao;
        this.password = password;
        this.name = name;
        this.sex = sex;
        this.number =number;
        this.name = name;
        this.mail = mail;
        this.xueyuan = xueyuan;
        this.zhuanye = zhuanye;
        this.banji = banji;
        this.year = year;
        this.shengyuandi = shengyuandi;
        this.beizhu = beizhu;
    }
    public Zzm(String zhanghao, String password,String sex, String name,String number,String mail,String xueyuan,String zhuanye,String banji,String year,String shengyuandi,String beizhu)
    {
        this.zhanghao = zhanghao;
        this.password = password;
        this.name = name;
        this.sex = sex;
        this.number = number;
        this.mail = mail;
        this.xueyuan = xueyuan;
        this.zhuanye = zhuanye;
        this.banji = banji;
        this.year = year;
        this.shengyuandi = shengyuandi;
        this.beizhu = beizhu;
    }
}
    

3.创建中间层,收集网页表单的数据

package zzm;

import java.io.IOException;
import java.util.List;

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

@WebServlet("/ZzmServlet")
public class ZzmServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    ZzmService service = new ZzmService();

    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);
        }
    }

    /**
     * 添加
     * @param req
     * @param resp
     * @throws IOException
     * @throws ServletException
     */
    private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
        req.setCharacterEncoding("utf-8");
        String zhanghao = req.getParameter("zhanghao");
        String password = req.getParameter("password");
        String sex = req.getParameter("sex");
        String number = req.getParameter("number");
        String name = req.getParameter("name");
        String mail = req.getParameter("mail");
        String xueyuan = req.getParameter("xueyuan");
        String zhuanye = req.getParameter("zhuanye");
        String banji = req.getParameter("banji");
        String year = req.getParameter("year");
        String shengyuandi = req.getParameter("shengyuandi");
        String beizhu = req.getParameter("beizhu");
        Zzm zzm= new Zzm(zhanghao,password,sex,name,number,mail,xueyuan,zhuanye,banji,year,shengyuandi,beizhu);

        //添加后消息显示
        if(service.add(zzm)) {
            req.setAttribute("message", "添加成功");
            req.getRequestDispatcher("zzm.jsp").forward(req,resp);
        } else {
            req.setAttribute("message", "用户名重复,请重新输入");
            req.getRequestDispatcher("zzm.jsp").forward(req,resp);
        }
    }

}

4.创建Dao接口,实现基本的数据库操作

package zzm;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * Dao层操作数据
 * @author Zhao
 *
 */
public class ZzmDao {

    /**
     * 添加
     * @param zzm
     * @return
     */
    public boolean add(Zzm zzm) {
        String sql = "insert into zzm(zhanghao,password,sex,name,number,mail,xueyuan,zhuanye,banji,year,shengyuandi,beizhu) values(‘" + zzm.getZhanghao() + "‘,‘" + zzm.getPassword() + "‘,‘" + zzm.getSex() + "‘,‘"+zzm.getName()+"‘,‘" + zzm.getNumber() + "‘,‘" + zzm.getMail()+"‘,‘"+zzm.getXueyuan()+"‘,‘"+zzm.getZhuanye()+"‘,‘"+zzm.getBanji() +"‘,‘"+zzm.getYear()+"‘,‘"+zzm.getShengyuandi()+"‘,‘"+zzm.getBeizhu() +"‘)";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        boolean f = false;
        int a = 0;

        try {
            state = conn.createStatement();
            state.executeUpdate(sql);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(state, conn);
        }

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

    public boolean zhanghao(String zhanghao) {
        // TODO Auto-generated method stub
        return false;
    }

}

5.创建服务层,

package zzm;

import java.util.List;

/**
 * ZzmService
 * 服务层
 * @author Zhao
 *
 */
public class ZzmService {

    ZzmDao cDao = new ZzmDao();

    /**
     * 添加
     * @param Zzm
     * @return
     */
    public boolean add(Zzm zzm) {
        boolean f = false;
        if(!cDao.zhanghao(zzm.getZhanghao())) {
            cDao.add(zzm);
            f = true;
        }
        return f;
    }

}

6.绘制界面操作(jsp)

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>

<link rel="stylesheet" type="text/css" href="css/nav.css">
<link rel="stylesheet" type="text/css" href="font/iconfont.css">

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/nav.js"></script>

</head>
<body>
<%
         Object message = request.getAttribute("message");
         if(message!=null && !"".equals(message)){

    %>
         <script type="text/javascript">
              alert("<%=request.getAttribute("message")%>");
         </script>
    <%} %>
    <div align="center">
<form action="ZzmServlet?method=add" method="post" onsubmit="return check()">
<table  width="500px" height="650px"border="1" style="text-align:center">
         <tr height="50px" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">登录账号:</font></td>
            <td width="400"><input  id="zhanghao" name="zhanghao" placeholder="请输入账号"/></td>

        </tr>
        <tr height="50px" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">登录密码:</font></td>
            <td width="400"><input  type="password" name="password" placeholder="请输入密码"/></td>

        </tr>
         <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">性别:</font></td>
            <td><select id="sex" name="sex" >
                <option value="男">男</option>
                <option value="女">女</option>
                </select></td>
            </tr>
                    <tr height="50px" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">姓名:</font></td>
            <td width="400"><input  id="name" name="name" placeholder="请输入姓名"/></td>
        </tr>
            <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">学号:</font></td>
            <td width="400"><input  id="number" name="number" placeholder="请输入学号"/></td>
            </tr>
            <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">电子邮箱:</font></td>
            <td width="400"><input  id="mail" name="mail" placeholder="请输入邮箱" /></td>
            </tr>
            <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">所在学院:</font></td>
            <td width="400"><input  id="xueyuan" name="xueyuan" placeholder="请输入学院名" /></td>
            </tr>
            <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">所在专业:</font></td>
            <td width="400"><input  id="zhuanye" name="zhuanye" placeholder="请输入专业" /></td>
            </tr>
            <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">所在班级:</font></td>
            <td width="400"><input  id="banji" name="banji" placeholder="请输入班级" /></td>
            </tr>
            <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">入学年份:</font></td>
            <td><select id="year" name="year" >
                <option value="2015">2015</option>
                <option value="2016">2016</option>
                <option value="2017">2017</option>
                <option value="2018">2018</option>
                <option value="2019">2019</option>
                </select></td>
            </tr>
            <tr height="50" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">生源地:</font></td>
            <td width="400"><input  id="shengyuandi" name="shengyuandi" placeholder="请输入生源地" /></td>
            </tr>

            <tr height="100" align="center" bgcolor="#FFFFCC">
           <td width="100"><font color="black"style="font-family:宋体;">备注:</font></td>
            <td width="400"><input  id="beizhu" name="beizhu" placeholder="无" /></td>
            </tr>

            <tr height="50" align="center" bgcolor="#FFFFCC">
            <td width="400"><button type="submit" >添加</button></td>
            <td width="400"><input type="reset"  value="重新输入" /></td>
            </tr>

</form>
</div>
<script type="text/javascript">
function check() {
    var zhanghao = document.getElementById("zhanghao");
    var password = document.getElementById("password");
    var number = document.getElementById("number");
    var mail = document.getElementById("mail");

    if (!zhanghao.value.match(/^[a-zA-Z]\w{5,11}$/)) {

        alert("输入错误,请以英文字母开头 长度6-12");

        num.focus();

        return false;

}

    else if (!password.value.match(/^[A-Za-z0-9]\w{7,20}$/)) {

     alert(" 密码由八位及其以上以上英文和数字组成");

     mima.focus();

     return false;

}
    else if(number.value<"20180000"|| number.value>"20189999")
        {
         alert(" 学号由2018开头的八位组成");
         number.focus();

         return false;
        }

    else if (!mail.value.match(/^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/)) {

     alert(" 邮箱格式错误");

     mail.focus();

     return false;

}

}
</script>
</body>
</html>

界面:

实验总结:

java web的一些基础功能已经可以实现。

数据库的连接操作目前已经可以很好的实现;

第一次java web 小测验做的还行

如果按独立搞的不查询 可以得到7分左右;

以后要多多练习 java web小程序的编写!

原文地址:https://www.cnblogs.com/zzmds/p/11715208.html

时间: 2024-11-04 16:17:46

Java web 小测验的相关文章

tomcat部署java web项目遇到的一些小挫折

背景:本人不是Java开发人员,经过四年多的历练,可以说是一枚BI攻城师了吧,最近粗糙的写了一个Portal来集成cognos报表,下面就入正题说一下发布过程中遇到的小问题吧. a:前提:Java web项目已经在MyEclipse里面开发好,发布,利用MyEclipse8.5自带的tomcat运行,通过IE访问项目主页,登录验证一切OK b:把Java web项目导出为.war格式的文件放到tomcat/webapp下面 或者 在MyEclipse8.5中添加自己安装的tomcat6.0然后运

小猿圈之学习java web需要有什么基础?

有很多人想学java,因为java虽然已经火了多年,但是其发展前景还是很不错的,有很大一部分人选择走java web方向,那么java web应该提前掌握哪些知识呢?小猿圈加加下面说一下. 首先找准自己发展的方向.是pc还是移动应用.学基础的时候一定要认真,虽然看起来很简单但一定要动手去做.推荐你一本专业的java书<java核心技术>仔细看,里面都会讲到各种类,数组,链表,封装.重载等基础知识,然后再结合上面提到的东西进行简单程序的编写,主要还是多练,平时写程序多用java ,不要怕出错,e

Java web开发中页面跳转小技巧——跳转后新页面在新窗口打开

最近学习Java web,在学习过程中想实现一个需求,就是在jsp页面跳转的时候,希望跳转后的新页面在新窗口中打开, 而不是覆盖原来的页面,这个需求使我困惑了好长时间,后来通过大海捞针似的在网上寻找方法,最后终于得以解决, 现将此方法跟大家分享,如果有不足的地方,请多包涵,我的初衷是能帮助到有这方面需要的人. 之前我在网上也曾搜到过相对靠谱的方法,就是在jsp页面相应位置加入代码:target="_black",如 <a href="articleView?id=${a

关于java web开发需要哪些技术要求(简单的web界面管理系统)

目前, 国内外信息化建设已经进入基于Web应用为核心的阶段, Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.概括一下,实施Java的WEB项目需要掌握的技术如下: lJava语言 l面向对象分析设计思想 l设计模式和框架结构 lXML语言 l网页脚本语言 l数据库 l应用服务器 l集成开发环境 下面我们具体地看每个技术. 1.Java语言 Java语言体系比较庞大,包括多个模块.从WEB项目应用角度讲有JSP.Servle

CentOS6.5中部署java web环境

原来在linux中部署java web环境,没有做好总结,这次在部署的过程中,将部署的过程做了记录,希望对大家有帮助.主要内容包括CentOS安装以后的网络设置,系统自带jdk的卸载,新版本jdk的安装,tomcat的安装部署. 一 CentOS的网络设置 利用桥接模式,让CentOS连接到网络. Vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改onboot=yes 保存退出 Ifconfig命令查看网络情况 可以看到ip地址 这时就能够ping通外

Java Web开发中MVC设计模式简介

一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条理性,对于一个小型的网站这样的编写没有任何问题,但是一但我们需要编写大型的web工程的话,我们现有的编写模式会造成web应用的可扩展性较差,而且一但出现问题不能准确的定位出问题出在哪里. Java是一门应用设计模式比较广泛的语言.目前主流提出的23种设计模式均可在Java语言编写的程序中所应用.目前

基于IBM Bluemix部署Java Web项目实战演练

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要介绍了IBM Bluemix,并详细说明了如何部署Java Web项目,如何添加MySql服务.最后,提出了自己的一些看法.  文章目录 一.Bluemix简单介绍 二.BlueMix空间申请试用 三.BlueMix创建Cloud Foundry应用 四.添加新的服务 五.总结 一.Bluemix 简单介绍 1.Bluemix 带来了什么        Bluemix 致力于解

Java Web部分

Java Web部分 1.Tomcat的优化经验? 答:去掉对web.xml的监视,把JSP提前编辑成Servlet. 有富余物理内存的情况,加大tomcat使用的JVM的内存 2.HTTP请求的get与post方式的区别? 答: get:是以实体的方式得到由请求URL所指定资源的信息,如果请求URL只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述. post:用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列中请求UR

java web学习笔记-jsp篇

转载自:http://www.cnblogs.com/happyfans/archive/2015/03/17/4343571.html 1.java web简介 1.1静态页面与动态页面   表现形式 所需技术 静态网页 网页内容固定,不会更新 html,css 动态网页 网页内容由程序动态显示,自动更新 html,css,DB,java/c#/php,javascript,xml,主流的动态网页脚本(jsp,asp.net,php) 1.2搭建java web开发环境 jdk1.7+tomc