期中考试

第七次全国人口普查登记(20分)

1、项目需求:

开展第七次全国人口普查,将为编制“十四五”规划提供重要信息支持;推动实现人口与经济社会、资源环境协调发展,为深化供给侧结构性改革,推动经济高质量发展,建设现代化经济体系提供强有力的支持;人口普查还将为完善人口发展战略和政策体系,促进人口长期均衡发展提供重要信息支持。

2.系统要求与功能设计

2.1 页面功能要求

1)能够在Tomcat服务器中正确部署,并通过浏览器查看;(1分)

2)网站页面整体风格统一;

 

1 人口普查系统功能结构图

3)主页面:要求显示人口登记、修改人口信息、删除人口信息、查询人口信息,人口信息浏览五个子菜单。(1分)

4)人口登记页面:(6分)

①完成添加人口信息登记,基本信息和填报限制如下表所示

户 别

家庭户 集体户(单选框)

住房类型

家庭住宅、集体住所、工作地住所、其他住宅、无住宅(单选框)

本户现住房面积

XXXXX平方米(文本框,只能输入这个整数)

本户现住房间数

XXXXX间(文本框,只能输入这个整数)

户主姓名

XXXXX(文本框)

身份证号码

XXXXXXXXXXXXXXXXXX(判断身份证位数13位并且只能录入数字、最后一位可以录入X)

性别

男/女(单选框)

民族

(文本框)

受教育程度

研究生、大学本科、大学专科、高中、初中、小学、未上过学(下拉框实现)

 

点击“提交”按钮,保存成功则跳转到人口基本信息浏览界面,新录入的信息置顶显示。失败则提示错误信息,返回当前页面

评分标准:

①完成人口登记页面(未完成0分,完成1分)

②保存人口信息入库(未完成0分,完成1分)

③户别、住房类别、性别实现一个单选框录入0.5分,全部实现1分。(未完成0分,完成一个0.5,全部完成1分)

④本户现住房面积或本户现住房间数实现整数判断(未完成0分,完成0.5分)

⑤判断身份证按照要求录入,实现位数和数字录入判断0.5分,实现最后一位可以输入数字或X判断0.5分。(1分)

⑥受教育程度下拉框录入(未完成0分,完成0.5分)

⑦提交后页面跳转功能;(未完成0分,完成1分)

5)修改人口信息页面:3分)

输入户主姓名,显示其余信息,可对身份证号码、性别、民族、受教育程度进行修改。(身份证号码、性别、受教育程度必须符合录入要求);如果该名户主信息数据库不存在,则提示“该户主信息不存在”。(3分)

评分标准:

①完成修改户主个人信息页面(未完成0分,完成0.5分)

② 实现数据库中信息更新(未完成0分,完成1分)

③修改信息判断是否符合要求。(未完成0分,完成0.5分)

④输入姓名,显示其余信息,若该信息不存在,提示错误信息;(未完成0分,完成1分)

6)删除人口信息页面:录入户主姓名,显示详细信息后,点击“删除”按钮,弹出提示框,提示“是否确认删除该户主信息”,确认后删除该信息。(1分)

评分标准:

①输入户主姓名可显示其余信息。(未完成0分,完成0.5分)

②对应删除数据库中信息(未完成0分,完成0.5分)

7)浏览人口信息页面:(2分)

以列表形式显示人口基本信息,结果列表中显示姓名、性别,民族、受教育程度基本信息,点击姓名,可以跳转到个人详细信息。

①实现以列表形式显示人口基本信息,结果列表中显示姓名、性别,民族、受教育程度基本信息(未完成0分,完成1分)

②实现跳转个人详细信息页面。(未完成0分,完成1分)

8)查询人口信息页面:(3分)

要求可以根据人口姓名、性别、民族、受教育程度四种条件实现模糊查询,输出结果以列表形式显示,显示人口姓名、性别、民族、受教育程度基本信息,点击列表中的姓名,跳转到人口个人详细信息页面。

评分标准:

①缺少一种查询条件扣除1分。(未完成0分,完成3分)

2.2 功能要求

1)设计出合理的数据库和数据表,要求使用mysql、sqlserver、oracle三种数据库中一种(1分)

2)使用Serverlet实现页面交互(1分)。

3)使用Java Bean封装数据库连接操作(1分。)

 

<%@ page contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>人口普查系统</title>
<body background="BACKGROUNG/1.jpg">
</head>
    <p style="text-align:center;color:black;font-family:宋体,serif; font-size:20px">
            <br> 
            <input type="button" value="人口登记" onclick="location.href='add.jsp'" />
            <br><br>
            <input type="button" value="修改人口信息" onclick="location.href='revise.jsp'" />
            <br><br>
            <input type="button" value="删除人口信息" onclick="location.href='delete.jsp'" />
            <br><br>
            <input type="button" value="查询人口信息" onclick="location.href='search.jsp'" />
            <br><br>
            <input type="button" value="人口信息浏览" onclick="location.href='watch.jsp'" />      
    </p>

</html>
add
<%@ page contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>录入</title>   
</head>
   <form id="1" action ="add-backstage.jsp" method="get">   
   <p style="text-align:center;color:black;font-family:楷体; font-size:20px">    
                <br>
                户别:             
                    <input type="radio" name="hb" value="家庭户" />家庭户
                    <input type="radio" name="hb" value="集体户" />集体户
                <br><br>
                住房类型:             
                    <input type="radio" name="zflx" value="家庭住宅" />家庭住宅
                    <input type="radio" name="zflx" value="集体住所" />集体住所
                    <input type="radio" name="zflx" value="工作地住所" />工作地住所
                    <input type="radio" name="zflx" value="其他住宅" />其他住宅
                    <input type="radio" name="zflx" value="无住宅" />无住宅
                <br><br> 
                本户现住房面积:             
                    <input type="text" name="humj"size="1"/>平方米
                <br><br> 
                本户现住房间数:             
                    <input type="text" name="hunum"size="1"/>间
                <br><br> 
                户主姓名:             
                    <input type="text" name="name"size="3"/>
                <br><br> 
                身份证号码:             
                    <input type="text" name="sfnum"size="15"/>
                <br><br>                
                性别:               
                     <input type="radio" name="sex" value="男" />男
                     <input type="radio" name="sex" value="女" />女
                <br><br>                
                民族:               
                    <input type="text" name="minzhu"size="2"/>
                <br><br>  
                受教育程度:
        		<select size ="1"name="lrean">
        		<option value ="研究生" selected>研究生</option>
        		<option value ="大学本科" >大学本科</option>
        		<option value ="大学专科" >大学专科</option>
        		<option value ="高中" >高中</option>
        		<option value ="初中" >初中</option>
        		<option value ="小学" >小学</option>
        		<option value ="未上过学" >未上过学</option>
        		<select>
                <br><br>            
                    <input type="submit" value="登记"/>
                    <input type="reset" value="重置"/>     
    </p>
    </form>   
</body>
</html>
add-backstage
<%@ page contentType="text/html; charset=utf-8"
		 pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>处理</title>
</head>

<body>
<jsp:useBean id="util" class="jd.AddC"/>
<%
String hb= request.getParameter("hb");
String zflx= request.getParameter("zflx");
String humj= request.getParameter("humj");
String hunum= request.getParameter("hunum");
String name= request.getParameter("name");
String sfnum= request.getParameter("sfnum");
String sex= request.getParameter("sex");
String minzhu= request.getParameter("minzhu");
String lrean= request.getParameter("lrean");
if(util.sfzhm(sfnum)){
	out.print("<script language ='javaScript'> alert('输入不能为空,请完成填写');window.history.back(-1); </script>");
}else if(util.pinji(humj, hunum)){
	out.print("<script language ='javaScript'> alert('住房平方米和间数必须是整数');window.history.back(-1); </script>");
}else if(util.chachong(sfnum)){
	out.print("<script language ='javaScript'> alert('身份证必须为18位,且只能最后一位为X或数字');window.history.back(-1); </script>");
}else if(util.queryEmpty(hb,zflx,humj,hunum,name,sfnum,sex,minzhu,lrean)){
	out.print("<script language ='javaScript'> alert('录入身份证号码重复');window.history.back(-1); </script>");	  
}else{
	util.input(hb, zflx, humj, hunum, name, sfnum, sex, minzhu, lrean);
	out.print("<script language='javaScript'> alert('录入成功');</script>");
    response.setHeader("refresh", "0;url=main.jsp");
}
%>
</body>
</html>
delete
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>删除</title>   
</head>
   <form id="1" action ="delete-back.jsp" method="get">   
   <p style="text-align:center;color:black;font-family:楷体; font-size:20px">    
                <br> 
                需要删除户主姓名:             
                    <input type="text" name="name"size="3"/>
                <br><br>           
                    <input type="submit" value="确认"/>
                    <input type="reset" value="重置"/>     
    </p>
    </form>   
</body>
</html>
delete-back
<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%>
<html>
<head>
<title>删除</title>
</head>
<body>
<script>
    function del(){
        var r = confirm("是否确定删除?")
        if (r == true) {
        	 return true; 
        } else {
        	return false;
        }
    } 
</script>
<table border="1"style="text-align:center">
<caption>人口信息</caption>
<tr>
<td align="center" width=2%>户别</td>
<td align="center" width=2%>住房类型</td>
<td align="center" width=1%>本户现住房面积</td>
<td align="center" width=1%>本户现住房间数</td>
<td align="center" width=3%>住户姓名</td>
<td align="center" width=2%>删除</td>
<td align="center" width=6%>身份证号码</td>
<td align="center" width=2%>性别</td>
<td align="center" width=2%>民族</td>
<td align="center" width=3%>受教育程度</td>
</tr>
<%
String name=(String)request.getParameter("name");
int bv=0;
try{
	%>
	<jsp:useBean id="util" class="jd.AddC"/>
	<%
	Connection connect = util.sjk();
    Statement stmt = connect.createStatement();
    ResultSet rs = stmt.executeQuery("select * from qz");
    while(rs.next()){
    	bv++;
		   %>
		   <tr>
		   <td width=2% align="center"><%=rs.getObject(1) %></td>
	       <td width=2% align="center"><%=rs.getObject(2) %></td>
	       <td width=1% align="center"><%=rs.getObject(3) %></td>
	       <td width=1% align="center"><%=rs.getObject(4) %></td>
		   <td width=3% align="center"><%=rs.getObject(5) %></td>
		   <td width=2% align="center"><a style="color:blue" href='delete-backstage.jsp?id=<%=rs.getObject(6) %>'onclick="javascript:return del()">点击删除</a>	</td>
		   <td width=6% align="center"><%=rs.getObject(6) %></td>	
		   <td width=2% align="center"><%=rs.getObject(7) %></td>
		   <td width=2% align="center"><%=rs.getObject(8) %></td>
		   <td width=3% align="center"><%=rs.getObject(9) %></td>
		   </tr>
		   <% 
    }
    rs.close();
    stmt.close();
    connect.close();   
}catch (SQLException e) {
    e.printStackTrace();            
}
if(bv==0) out.print("<script language ='javaScript'> alert('未查询到');window.history.back(-1); </script>");
%>
</table>
<p style="text-align:center;color:black;font-family:宋体; font-size:20px">
            <br> 
            <input type="button" value="主页面" onclick="location.href='main.jsp'" />   
    </p>  
</body>
</html>
delete-backback
<%@page import="jd.AddC"%>
<%@ page language="java" contentType="textml; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>处理</title>
</head>
<body> 
<jsp:useBean id="util" class="jd.AddC" scope="page" />
<% 
String sfnum=request.getParameter("id");
if(util.queryEmpty1(sfnum)){
	  out.print("<script language ='javaScript'> alert('输入不能为空,请完成填写');window.history.back(-1); </script>");
}else{
	util.deletedata(sfnum);
	out.print("<script language='javaScript'> alert('删除成功');</script>");
    response.setHeader("refresh", "0;url=main.jsp");
}
%>
</body>
</html>
revise
<%@page import="jd.AddC"%>
<%@ page language="java" contentType="textml; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>处理</title>
</head>
<body> 
<jsp:useBean id="util" class="jd.AddC" scope="page" />
<% 
String sfnum=request.getParameter("id");
if(util.queryEmpty1(sfnum)){
	  out.print("<script language ='javaScript'> alert('输入不能为空,请完成填写');window.history.back(-1); </script>");
}else{
	util.deletedata(sfnum);
	out.print("<script language='javaScript'> alert('删除成功');</script>");
    response.setHeader("refresh", "0;url=main.jsp");
}
%>
</body>
</html>
revise-back
<%@page import="jd.AddC"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>处理</title>
</head>
<body> 
<jsp:useBean id="util" class="jd.AddC" scope="page" />
<% 
String sfnum=request.getParameter("id");
if(util.queryEmpty1(sfnum)){
	  out.print("<script language ='javaScript'> alert('输入不能为空,请完成填写');window.history.back(-1); </script>");
}else{
	util.deletedata(sfnum);
	out.print("<script language='javaScript'> alert('删除成功');</script>");
    response.setHeader("refresh", "0;url=main.jsp");
}
%>
</body>
</html>
revise-back-back
<%@page import="jd.AddC"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>处理</title>
</head>
<body> 
<jsp:useBean id="util" class="jd.AddC" scope="page" />
<% 
String sfnum=request.getParameter("id");
if(util.queryEmpty1(sfnum)){
	  out.print("<script language ='javaScript'> alert('输入不能为空,请完成填写');window.history.back(-1); </script>");
}else{
	util.deletedata(sfnum);
	out.print("<script language='javaScript'> alert('删除成功');</script>");
    response.setHeader("refresh", "0;url=main.jsp");
}
%>
</body>
</html>
search
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>查询</title>   
</head>
   <form id="1" action ="search-back.jsp" method="get">   
   <p style="text-align:center;color:black;font-family:楷体; font-size:20px">    
                <br> 
                需要查询户主相关信息:             
                    <input type="text" name="name"size="3"/>
                <br><br>           
                    <input type="submit" value="确认"/>
                    <input type="reset" value="重置"/>     
    </p>
    </form>   
</body>
</html>
search-back
<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%>
<html>
<head>
<title>查询</title>
</head>
<body>
<table border="1"style="text-align:center">
<caption>人口信息</caption>
<tr>
<td align="center" width=3%>住户姓名</td>
<td align="center" width=2%>性别</td>
<td align="center" width=2%>民族</td>
<td align="center" width=3%>受教育程度</td>
</tr>
<%
String name=(String)request.getParameter("name");
int bv=0;
try{
	%>
	<jsp:useBean id="util" class="jd.AddC"/>
	<%
	Connection connect = util.sjk();
	PreparedStatement preparedStatement=null; 
	ResultSet rs = null;
	preparedStatement=connect.prepareStatement("select * from qz where name like ? or sex like ? or minzhu like ? or lrean like ? ");
	preparedStatement.setString(1,"%"+name+"%");
    preparedStatement.setString(2,"%"+name+"%");
    preparedStatement.setString(3,"%"+name+"%");
    preparedStatement.setString(4,"%"+name+"%");
    rs=preparedStatement.executeQuery();
    while(rs.next()){
    	bv++;
		   %>
		   <tr>
		   <td width=3% align="center"><a style="color:blue" href='search-back-back.jsp?id=<%=rs.getObject(6) %>'><%=rs.getObject(5) %></a>	</td>	
		   <td width=2% align="center"><%=rs.getObject(7) %></td>
		   <td width=2% align="center"><%=rs.getObject(8) %></td>
		   <td width=3% align="center"><%=rs.getObject(9) %></td>
		   </tr>
		   <%
    }
    rs.close();
    preparedStatement.close();
    connect.close();
}catch (SQLException e) {
    e.printStackTrace();            
}
if(bv==0) out.print("<script language ='javaScript'> alert('未查询到');window.history.back(-1); </script>");
%>
</table>
<p style="text-align:center;color:black;font-family:宋体; font-size:20px">
            <br> 
            <input type="button" value="主页面" onclick="location.href='main.jsp'" />   
    </p>  
</body>
</html>
search-backstage
<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%>
<html>
<head>
<title>查询</title>
</head>
<body>
<table border="1"style="text-align:center">
<caption>人口信息</caption>
<tr>
<td align="center" width=3%>住户姓名</td>
<td align="center" width=2%>性别</td>
<td align="center" width=2%>民族</td>
<td align="center" width=3%>受教育程度</td>
</tr>
<%
String name=(String)request.getParameter("name");
int bv=0;
try{

	%>
	<jsp:useBean id="util" class="jd.AddC"/>
	<%
	Connection connect = util.sjk();
	PreparedStatement preparedStatement=null; 
	ResultSet rs = null;
	preparedStatement=connect.prepareStatement("select * from qz where name like ? or sex like ? or minzhu like ? or lrean like ? ");
	preparedStatement.setString(1,"%"+name+"%");
    preparedStatement.setString(2,"%"+name+"%");
    preparedStatement.setString(3,"%"+name+"%");
    preparedStatement.setString(4,"%"+name+"%");
    rs=preparedStatement.executeQuery();
    while(rs.next()){
    	bv++;
		   %>
		   <tr>
		   <td width=3% align="center"><a style="color:blue" href='search-back-back.jsp?id=<%=rs.getObject(6) %>'><%=rs.getObject(5) %></a>	</td>	
		   <td width=2% align="center"><%=rs.getObject(7) %></td>
		   <td width=2% align="center"><%=rs.getObject(8) %></td>
		   <td width=3% align="center"><%=rs.getObject(9) %></td>
		   </tr>
		   <%
    }
    rs.close();
    preparedStatement.close();
    connect.close();
}catch (SQLException e) {
    e.printStackTrace();            
}
if(bv==0) out.print("<script language ='javaScript'> alert('未查询到');window.history.back(-1); </script>");
%>
</table>
<p style="text-align:center;color:black;font-family:宋体; font-size:20px">
            <br> 
            <input type="button" value="主页面" onclick="location.href='main.jsp'" />   
    </p>  
</body>
</html>
watch
<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%>
<html>
<head>
<title>浏览</title>
</head>
<body>
<table border="1"style="text-align:center">
<caption>人口信息</caption>
<tr>
<td align="center" width=3%>住户姓名</td>
<td align="center" width=2%>性别</td>
<td align="center" width=2%>民族</td>
<td align="center" width=3%>受教育程度</td>
</tr>
<%
try{
	%>
	<jsp:useBean id="util" class="jd.AddC"/>
	<%
	Connection connect = util.sjk();
    Statement stmt = connect.createStatement();
    ResultSet rs = stmt.executeQuery("select * from qz");
    while(rs.next()){
%>
   <tr>
   <td width=3% align="center"><a style="color:blue" href='search-back-back.jsp?id=<%=rs.getObject(6) %>'><%=rs.getObject(5) %></a></td>
   <td width=2% align="center"><%=rs.getObject(7) %></td>
   <td width=2% align="center"><%=rs.getObject(8) %></td>
   <td width=3% align="center"><%=rs.getObject(9) %></td>
   </tr>
<%
}
   rs.close();
   connect.close();
   stmt.close();
}catch (SQLException e) {
   e.printStackTrace();            
}
%>
</table>
<p style="text-align:center;color:black;font-family:宋体; font-size:20px">
            <br> 
            <input type="button" value="主页面" onclick="location.href='main.jsp'" />   
    </p>  
</body>
</html>

  

posted @ 2020-11-11 18:21  huhuyahei  阅读(132)  评论(0)    收藏  举报