一、题目

石家庄铁道大学

青年志愿者服务网(20分)

 

1、项目需求:

为了适应社会主义市场经济发展的需要,推动青年志愿服务体系和多层次社会保障体系的建立和完善,促进青年健康成长,石家庄铁道大学急需建设青年志愿者服务网,推进石家庄铁道大学青年志愿者事业发展。

2.系统要求与功能设计

2.1 页面功能要求

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

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

图1 青年志愿者信息管理系统功能结构图

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

(4)志愿者登记页面:(5分)

①完成添加志愿者个人信息登记,基本信息如下表所示

②性别要求采用单选框形式,选项包括“男”、“女”两项;

③政治面目要求采用下拉框选择,选项内容包括“群众”、“共青团员”、“中共党员”三项。

④服务类别采用多选框形式选择,最多选择四项服务类别。

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

评分标准:

①完成志愿者登记页面(未完成0分,完成1分)

②保存志愿者信息入库(未完成0分,完成1分)

③性别单选框录入(未完成0分,完成0.5分)

④ 政治面目下拉框录入(未完成0分,完成0.5分)

⑤服务类别多选框录入功能(未完成0分,完成0.5分)

⑥服务类别限制最多四项选项功能;(未完成0分,完成0.5分)

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

(5)修改志愿者个人信息页面:

输入志愿者姓名,显示其余信息,可对性别、政治面目、服务类别进行修改。(性别、政治面目、服务类别必须符合录入要求);如果该名志愿者信息数据库不存在,则提示“该志愿者信息不存在”。(3分)

评分标准:

①完成修改志愿者个人信息页面(未完成0分,完成0.5分)

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

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

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

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

评分标准:

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

②提示确认信息。(未完成0分,完成0.5分)

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

(7)浏览志愿者信息页面:(2分)

以列表形式显示志愿者基本信息,结果列表中显示姓名、性别,民族、政治面目基本信息,点击姓名,可以跳转到个人详细信息。

①实现以列表形式显示志愿者基本信息,结果列表中显示姓名、性别,民族、政治面目基本信息(未完成0分,完成1分)

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

(8)查询志愿者信息页面:(3分)

要求可以根据志愿者姓名、性别、民族、政治面目、服务类别、注册时间六种条件实现模糊查询,输出结果以列表形式显示,显示姓名、性别,民族、政治面目基本信息,点击列表中的姓名,跳转到志愿者个人详细信息页面。

评分标准:

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

2.2 功能要求

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

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

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

二、源程序代码

package Dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List; import DBUtil.DBUtil;
import User.User; public class Dao{
//Dao层实现对数据库的操作 //增
//添加到 %表名% 表中
public boolean insert(User user){
//插入的sql语句
String sql="insert into volunteer(name,sex,ethnic,time,old,landscape) values('"+user.getName()+"','"+user.getSex()+"','"+user.getEthnic()+"','"+user.getTime()+"','"+user.getOld()+"','"+user.getLandscape()+"')";
System.out.println(sql);
//insert语句:
//insert into table_name (column1,column2,column3,...) values (value1,value2,value3,...);
//注意:insert这里 values(100,'String','"+bianliang+"'),数字可以直接上,字符串的话用 '',变量的话要用 '"++"' Connection conn=DBUtil.getConn();//添加数据库,加载驱动
Statement state=null;//创建statement对象并置空
try { //实例化statement对象 方便操作
state=conn.createStatement();
state.executeUpdate(sql);
//执行数据库更新操作用于执行insert、update或delete语句以及SQLDDL(数据定义语言)语句,
//例如creattable和droptable,(创建表和删除表) } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,表示这段语句最终一定会被执行(不管有没有抛出异常),
//经常被用在需要释放资源的情况下。
finally {
DBUtil.close(state, conn);//clase 释放资源
} return false;
} //删
//根据ID删除 public boolean delete(String name){
//插入sql 语句
String sql="delete from volunteer where name='"+name+"' ";
//删除语句:
//delete from table_name where some_colume=some_value Connection conn =DBUtil.getConn();
Statement state=null;
try {
state=conn.createStatement();
state.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
DBUtil.close(state, conn);
}
return false;
} //改
//根据ID更改 public boolean update(User user) {
//插入sql 语句
String sql="update user set sex='"+user.getSex()+"',ethnic='"+user.getEthnic()+"',time='"+user.getTime()+"',old='"+user.getOld()+"',landscape='"+user.getLandscape()+"' where name='"+user.getName()+"' ";
//update语句:
//update table_name set column1=value1,column2=value2 where some_column=some_value; Connection conn=DBUtil.getConn();
Statement state=null; try {
state=conn.createStatement();
state.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
DBUtil.close(state, conn);
} return false;
} //查 //按照姓名查
public List<User> selectByName(String name1) {
//插入sql 语句
String sql="select * from volunteer where name like '%"+name1+"%'";
System.out.println(sql);
Connection conn=DBUtil.getConn();
Statement state=null;
ResultSet rs=null; try {
state=conn.createStatement();
rs=state.executeQuery(sql);
List<User>list=new ArrayList<>();
while(rs.next()) {
String name=rs.getString("name");
String sex=rs.getString("sex");
String ethnic=rs.getString("ethnic");
String time=rs.getString("time");
String old=rs.getString("old");
String landscape=rs.getString("landscape");
User user=new User(name,sex,ethnic,time,old,landscape);
list.add(user);
return list;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(rs, state, conn);
} return null;
} //按姓名查
public List<User> selectBySex(String sex1) {
//插入sql 语句
String sql="select * from volunteer where sex = '"+sex1+"'";
System.out.println(sql);
Connection conn=DBUtil.getConn();
Statement state=null;
ResultSet rs=null; try {
state=conn.createStatement();
rs=state.executeQuery(sql);
List<User>list=new ArrayList<>();
while(rs.next()) {
String name=rs.getString("name");
String sex=rs.getString("sex");
String ethnic=rs.getString("ethnic");
String time=rs.getString("time");
String old=rs.getString("old");
String landscape=rs.getString("landscape");
User user=new User(name,sex,ethnic,time,old,landscape);
list.add(user);
return list;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(rs, state, conn);
} return null;
} //按照民族查
public List<User> selectByEthnic(String ethnic1) {
//插入sql 语句
String sql="select * from volunteer where ethnic = '"+ethnic1+"'";
System.out.println(sql);
Connection conn=DBUtil.getConn();
Statement state=null;
ResultSet rs=null; try {
state=conn.createStatement();
rs=state.executeQuery(sql);
List<User>list=new ArrayList<>();
while(rs.next()) {
String name=rs.getString("name");
String sex=rs.getString("sex");
String ethnic=rs.getString("ethnic");
String time=rs.getString("time");
String old=rs.getString("old");
String landscape=rs.getString("landscape");
User user=new User(name,sex,ethnic,time,old,landscape);
list.add(user);
return list;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(rs, state, conn);
} return null;
}
//按照时间查
public List<User> selectByTime(String time1) {
//插入sql 语句
String sql="select * from volunteer where time like '%"+time1+"%'";
System.out.println(sql);
Connection conn=DBUtil.getConn();
Statement state=null;
ResultSet rs=null; try {
state=conn.createStatement();
rs=state.executeQuery(sql);
List<User>list=new ArrayList<>();
while(rs.next()) {
String name=rs.getString("name");
String sex=rs.getString("sex");
String time=rs.getString("time");
String ethnic=rs.getString("ethnic");
String old=rs.getString("old");
String landscape=rs.getString("landscape");
User user=new User(name,sex,ethnic,time,old,landscape);
list.add(user);
return list;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(rs, state, conn);
} return null;
}
//按照政治面貌查
public List<User> selectByLandscape(String landscape1) {
//插入sql 语句
String sql="select * from volunteer where landscape = '"+landscape1+"'";
System.out.println(sql);
Connection conn=DBUtil.getConn();
Statement state=null;
ResultSet rs=null; try {
state=conn.createStatement();
rs=state.executeQuery(sql);
List<User>list=new ArrayList<>();
while(rs.next()) {
String name=rs.getString("name");
String landscape=rs.getString("landscape");
String ethnic=rs.getString("ethnic");
String time=rs.getString("time");
String old=rs.getString("old");
String sex=rs.getString("sex");
User user=new User(name,sex,ethnic,time,old,landscape);
list.add(user);
return list;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(rs, state, conn);
} return null;
}
//按照年龄查
public List<User> selectByOld(String old1) {
//插入sql 语句
String sql="select * from volunteer where old = '"+old1+"'";
System.out.println(sql);
Connection conn=DBUtil.getConn();
Statement state=null;
ResultSet rs=null; try {
state=conn.createStatement();
rs=state.executeQuery(sql);
List<User>list=new ArrayList<>();
while(rs.next()) {
String name=rs.getString("name");
String old=rs.getString("old");
String ethnic=rs.getString("ethnic");
String time=rs.getString("time");
String landscape=rs.getString("landscape");
String sex=rs.getString("sex");
User user=new User(name,sex,ethnic,time,old,landscape);
list.add(user);
return list;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(rs, state, conn);
} return null;
} //遍历
public List<User> list(){
//插入sql语句
String sql="select * from volunteer order by name asc"; //select语句
//select * from tabel_name 这是查询所有,若要查询某一列
//select column1_name,column2_name,column3_name from table_name List<User>list=new ArrayList<>();
//给集合list创造(new)一个存储空间用于存放数据 Connection conn=DBUtil.getConn();
Statement state=null;
ResultSet rs=null; try{
state=conn.createStatement();
rs=state.executeQuery(sql);
User user=null;
while(rs.next()) {//注意:这里用双引号,ID是表user里的ID列
String name=rs.getString("name");
String sex=rs.getString("sex");
String ethnic=rs.getString("ethnic");
String time=rs.getString("time");
String old=rs.getString("old");
String landscape=rs.getString("landscape");
user=new User(name,sex,ethnic,time,old,landscape);
list.add(user);
//表示,把bean里的数据存入到list当中
}
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
DBUtil.close(state, conn);
}
return list;
} //验证ID唯一 public boolean only(String name) {
//定义标记
boolean flag=false;
//插入sql语句
String sql="select * from volunteer where name = '"+name+"'";
Connection conn=DBUtil.getConn();
Statement state=null;
ResultSet rs=null; try {
state=conn.createStatement();
rs=state.executeQuery(sql);
//要用statement类的executeQuery()方法来下达select指令以查询数据库,
//executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供我们使用。
while (rs.next()) {
flag = true;
} } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(rs, state, conn);
} return flag;
} }

Dao

package Servlet;

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; import Service.Service;
import User.User; /**
* Servlet implementation class SelectServlet
*/
@WebServlet("/selectServlet")
public class SelectServlet extends HttpServlet {
private static final long serialVersionUID = 1L; Service service=new Service();
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//req是Request(请求)的简写,指的是从jsp/html界面请求回数据,即 jsp/html → 底层
//resp是Response(回答)的简写,指的是发送给jsp/html的数据,,即 底层 → jsp/html req.setCharacterEncoding("utf-8");//设置从jsp或HTML中请求数据的值,也就是设置为中文,防止乱码
String way=req.getParameter("way");//getParameter()获取的是客户端设置的数据。 //
if("name".equals(way)) {
selectByName(req,resp);
}
//
else if("sex".equals(way)) {
selectBySex(req,resp);
}
//
else if("ethnic".equals(way)) {
selectByEthnic(req,resp);
}
//
else if("old".equals(way)) {
selectByOld(req,resp);
}
//
else if("landscape".equals(way)) {
selectByLandscape(req,resp);
}
//
else if("time".equals(way)) {
selectByTime(req,resp);
} }
//按照姓名
private void selectByName(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException {
req.setCharacterEncoding("utf-8");
String name=req.getParameter("mes");
List<User> user=service.selectByName(name); req.setAttribute("user", user);
req.getRequestDispatcher("find.jsp").forward(req,resp);
//?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。
}
//按照性别
private void selectBySex(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException {
req.setCharacterEncoding("utf-8");
String sex=req.getParameter("mes");
List<User> user=service.selectBySex(sex); req.setAttribute("user", user);
req.getRequestDispatcher("find.jsp").forward(req,resp);
//?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。
}
//按照年龄
private void selectByOld(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException {
req.setCharacterEncoding("utf-8");
String old=req.getParameter("mes");
List<User> user=service.selectByOld(old); req.setAttribute("user", user);
req.getRequestDispatcher("find.jsp").forward(req,resp);
//?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。
}
//按照民族
private void selectByEthnic(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException {
req.setCharacterEncoding("utf-8");
String ethnic=req.getParameter("mes");
List<User> user=service.selectByEthnic(ethnic); req.setAttribute("user", user);
req.getRequestDispatcher("find.jsp").forward(req,resp);
//?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。
}
//按照政治面貌
private void selectByLandscape(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException {
req.setCharacterEncoding("utf-8");
String landscape=req.getParameter("mes");
List<User> user=service.selectByLandscape(landscape); req.setAttribute("user", user);
req.getRequestDispatcher("find.jsp").forward(req,resp);
//?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。
}
//按照时间
private void selectByTime(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException {
req.setCharacterEncoding("utf-8");
String time=req.getParameter("mes");
List<User> user=service.selectByTime(time); req.setAttribute("user", user);
req.getRequestDispatcher("find.jsp").forward(req,resp);
//?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。
}
}

Select Servlet

package Servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
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; import Service.Service;
import User.User;
@WebServlet("/servlet")
public class Servlet extends HttpServlet { Service service=new Service(); protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//req是Request(请求)的简写,指的是从jsp/html界面请求回数据,即 jsp/html → 底层
//resp是Response(回答)的简写,指的是发送给jsp/html的数据,,即 底层 → jsp/html req.setCharacterEncoding("utf-8");//设置从jsp或HTML中请求数据的值,也就是设置为中文,防止乱码
String method=req.getParameter("method");//getParameter()获取的是客户端设置的数据。 //增
if("insert".equals(method)) {
insert(req,resp);
}
//删
else if("delete".equals(method)) {
delete(req,resp);
}
//改
else if("update".equals(method)) {
update(req,resp);
}
// else if("select".equals(method)) {
// select(req,resp);
// }
//遍历
else if("list".equals(method)) {
list(req,resp);
} } //增
private void insert(HttpServletRequest req,HttpServletResponse resp) throws IOException, ServletException {
//首先读取前端网页数据并将数据存入创建的User存储空间里,即 jsp/html → servlet req.setCharacterEncoding("utf-8");//解码方式
String name=req.getParameter("name");
String sex=req.getParameter("sex");
String ethnic=req.getParameter("ethnic");
String time=req.getParameter("time");
String old=req.getParameter("old");
String landscape=req.getParameter("landscape");
//req.getParameter 只能获得String类型的数据
//如果是其他类型的数据需要用到Integer.parseInt(req.getParameter())来数据类型转换 User user=new User(name,sex,ethnic,time,old,landscape); //其次进行把user里的数据与添加到数据库里,即 servlet → mysql数据库
//并跳转,req.getRequestDispatcher("add.jsp").forward(req, resp);这一步是跳转到前端jsp/html界面 if(service.insert(user)) {
//如果添加成功
req.setAttribute("message", "添加成功");
//这里表示,在req的作用域中设置一个massage变量,变量内容是:添加成功
//然后,当跳转到它下一个界面时,这个作用域里的值可以通过Object message =request.getAttribute("message")拿出来使用
req.getRequestDispatcher("login.jsp").forward(req, resp);
}
else {
//处理失败
req.setAttribute("message", "添加重复,请重新输入");
req.getRequestDispatcher("add.jsp").forward(req, resp);
}
} //删除 private void delete(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException {
req.setCharacterEncoding("utf-8");
String name=req.getParameter("name");
service.delete(name);
req.setAttribute("message", "删除成功");
req.getRequestDispatcher("servlet?method=list").forward(req, resp);
}
//修改 private void update(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException {
req.setCharacterEncoding("utf-8");
String name=req.getParameter("name");
String sex=req.getParameter("sex");
String ethnic=req.getParameter("ethnic");
String time=req.getParameter("time");
String old=req.getParameter("old");
String landscape=req.getParameter("landscape");
User user=new User(name,sex,ethnic,time,old,landscape);
service.update(user);
//对数据库进行修改;
req.setAttribute("message", "修改成功");
req.getRequestDispatcher("servlet?method=list").forward(req,resp);
//?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。
}
//查
// private void select(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException {
// req.setCharacterEncoding("utf-8");
// String name=req.getParameter("name");
// List<User> user=service.select(name);
//
// req.setAttribute("user", user);
// req.getRequestDispatcher("find.jsp").forward(req,resp);
// //?method=list表示传一个叫做method的参数,他的值是list,你可以在Servlet中用request.getParam...获取到。
// } //全部
private void list(HttpServletRequest req,HttpServletResponse resp)throws IOException, ServletException { req.setCharacterEncoding("utf-8");
List<User> user = service.list();
req.setAttribute("user", user);
req.getRequestDispatcher("select.jsp").forward(req,resp); }
}

Servlet

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首页</title>
<style>
.a{
font-size: 26px;
margin-top: 20px;
}
</style>
</head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){ %>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: blue;">志愿信息系统</h1>
<div class="a">
<a href="add.jsp">添加志愿者信息</a>
</div>
<div class="a">
<a href="servlet?method=list">删除志愿者信息</a>
</div>
<div class="a">
<a href="servlet?method=list">修改志愿者信息</a>
</div>
<div class="a">
<a href="FindOne.jsp">查询志愿者信息</a>
</div>
<div class="a">
<a href="servlet?method=list">志愿者信息浏览</a>
</div>
</div>
</body>
</html>

login

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加信息</title>
<style>
.a{
margin-top: 20px;
}
.b{
font-size: 20px;
width: 160px;
color: white;
background-color: greenyellow;
}
</style>
</head>
<body> <%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){ %>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>"); //弹出对话框
</script>
<%} %>
<div align="center">
<h1 style="color: blue;">添加信息</h1>
<a href="login.jsp">返回主页</a>
<form action="servlet?method=insert" method="post" onsubmit="return check()">
<div class="a">
姓名:<input type="text" id="name" name="name" />
</div>
<div class="a">
性别:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" id="sex" name="sex" checked="checked" value="男">男 &nbsp;&nbsp;
<input type="radio" id="sex" name="sex" value="女">女&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</div>
<div class="a">
民族:<input type="text" id="ethnic" name="ethnic" />
</div>
<div class="a">
时间:<input type="text" id="time" name="time" />
</div>
<div class="a">
年龄:<input type="text" id="old" name="old" />
</div>
<div class="a">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;政治面貌:<select name="landscape" style="width:150px">
<option value="群众">群众</option>
<option value="共青团员">共青团员</option>
<option value="中共党员">中共党员</option>
</select>
</div>
<div class="a">
服务类别(最多4项):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
<input type="checkbox" name="matters" value="扶危济困" οnclick="chkbox(this);"/>扶危济困
<input type="checkbox" name="matters" value="敬老助残" οnclick="chkbox(this);"/>敬老助残
<input type="checkbox" name="matters" value="社区服务" οnclick="chkbox(this);"/>社区服务
<input type="checkbox" name="matters" value="秩序维护" οnclick="chkbox(this);"/>秩序维护<br>
<input type="checkbox" name="matters" value="文体服务" οnclick="chkbox(this);"/>文体服务
<input type="checkbox" name="matters" value="环境保护" οnclick="chkbox(this);"/>环境保护
<input type="checkbox" name="matters" value="治安防范" οnclick="chkbox(this);"/>治安防范
<input type="checkbox" name="matters" value="医疗救治" οnclick="chkbox(this);"/>医疗救治 <br>
<input type="checkbox" name="matters" value="法律援助" οnclick="chkbox(this);"/>法律援助
<input type="checkbox" name="matters" value="大型活动" οnclick="chkbox(this);"/>大型活动
<input type="checkbox" name="matters" value="心理疏导" οnclick="chkbox(this);"/>心理疏导
<input type="checkbox" name="matters" value="精神抚慰" οnclick="chkbox(this);"/>精神抚慰<br>
<input type="checkbox" name="matters" value="支教支医" οnclick="chkbox(this);"/>支教支医
<input type="checkbox" name="matters" value="科学普及" οnclick="chkbox(this);"/>科学普及
<input type="checkbox" name="matters" value="应急救援" οnclick="chkbox(this);"/>应急救援
<input type="checkbox" name="matters" value="便民服务" οnclick="chkbox(this);"/>便民服务<br>
<input type="checkbox" name="matters" value="民事调解" οnclick="chkbox(this);"/>民事调解
<input type="checkbox" name="matters" value="文明引导 " οnclick="chkbox(this);"/>文明引导
<input type="checkbox" name="matters" value="安全生产" οnclick="chkbox(this);"/>安全生产
<input type="checkbox" name="matters" value="禁毒宣传" οnclick="chkbox(this);"/>禁毒宣传<br>
</div>
<div class="a">
<button type="submit" class="b">添&nbsp;&nbsp;&nbsp;加</button>
</div>
</form>
</div>
<script type="text/javascript">
function chkbox(elm)
{ var obj=document.getElementsByName("matters");
var num=0;
for (var i=0;i<obj.length ;i++ )
if (obj[i].checked )
num+=1;
if (num>4)
{
alert("最多可以选择四个!");
elm.checked=false;
}
} function check()
{
var name = document.getElementById("name");
var sex= document.getElementById("sex");
var ethnic = document.getElementById("ethnic");
var time = document.getElementById("time");
var old = document.getElementById("old");
var landscape = document.getElementById("landscape"); //判断是否空
if(name.value == '')
{
alert('姓名为空');
name.focus();
return false;
} else if(sex.value == '')
{
alert('性别为空');
sex.focus();
return false;
}
else if(ethnic.value == '')
{
alert('民族为空');
ethnic.focus();
return false;
}
else if(time.value == '')
{
alert('时间为空');
time.focus();
return false;
}
else if(old.value == '')
{
alert('年龄为空');
old.focus();
return false;
}
else if(landscape.value == '')
{
alert('政治面貌为空');
landscape.focus();
return false;
}
} </script>
</body>
</html>

add

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>遍历</title>
<style>
.a{
margin-top: 20px;
}
.b{
font-size: 20px;
width: 160px;
color: white;
background-color: greenyellow;
}
.tb,td {
border: 1px solid black;
font-size: 22px;
}
</style>
</head>
<body>
<%
Object message = request.getAttribute("message");
Object user = request.getAttribute("user");
if(message!=null && !"".equals(message)){ %>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: red;">信息列表</h1>
<a href="login.jsp">返回主页</a>
<table class="tb">
<tr>
<td>姓名</td>
<td>性别</td>
<td>民族</td>
<td>政治面貌</td>
<td>年龄</td>
</tr>
<c:forEach items="${user}" var="item">
<tr>
<td >${item.name}</td>
<td>${item.sex}</td>
<td>${item.ethnic}</td>
<td>${item.landscape}</td>
<td>${item.old}</td>
</tr>
</c:forEach>
</table>
</div>
</body>
</html>

find

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>查询</title>
<style>
.a{
margin-top: 20px;
} </style> </head>
<body>
<%
Object message = request.getAttribute("message");
Object user = request.getAttribute("user");
if(message!=null && !"".equals(message)){ %>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<form action="selectServlet?" method="post" onsubmit="return check()">
<div class="a">
选择你想要查询的方式:
<select name="way" style="width:150px">
<option value="name">按照姓名查询</option>
<option value="sex">按照性别查询</option>
<option value="ethnic">按照民族查询</option>
<option value="time">按照登记时间查询</option>
<option value="old">按照年龄查询</option>
<option value="landescape">按照政治面貌查询</option>
</select>
</div>
<div class="a">
输入你要查询的信息:
<input type="text" name="mes">
</div>
<div class="a">
<button type="submit" class="b">查&nbsp;&nbsp;&nbsp;询</button>
</div>
</form> <script type="text/javascript">
function check(){
var way=document.getElmentId("way");
if(mes.value==''){
alert("输入搜索信息为空!")
mes.focus;
return false;
} return false;
}
</script>
</body>
</html>

Find One

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>遍历</title>
<style>
.a{
margin-top: 20px;
}
.b{
font-size: 20px;
width: 160px;
color: white;
background-color: greenyellow;
}
.tb,td {
border: 1px solid black;
font-size: 22px;
}
</style>
</head>
<body>
<%
Object message = request.getAttribute("message");
Object user = request.getAttribute("user");
if(message!=null && !"".equals(message)){ %>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: red;">信息列表</h1>
<a href="login.jsp">返回主页</a>
<table class="tb">
<tr>
<td>姓名</td>
<td>性别</td>
<td>民族</td>
<td>政治面貌</td>
<td align="center" colspan="2">操作</td>
</tr>
<c:forEach items="${user}" var="item">
<tr>
<td><a href="servlet?method=select&name=${item.name}">${item.name}</a></td>
<td>${item.sex}</td>
<td>${item.ethnic}</td>
<td>${item.landscape}</td>
<td><a href="change.jsp?name=${item.name}&sex=${item.sex}&ethnic=${item.ethnic}&landscape=${item.landscape}">修改</a></td>
<td><a href="javascript:if(confirm('确实要删除该内容吗?')){location='servlet?method=delete&name=${item.name}'}">删除</a></td>
</tr>
</c:forEach>
</table>
</div>
</body>
</html>

select

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>按名字查询</title>
<style>
.a{
margin-top: 20px;
}
.b{
font-size: 20px;
width: 160px;
color: white;
background-color: greenyellow;
}
.c{
margin-top: 20px;
color: red;
}
</style>
</head>
<body>
<div align="center">
<h1 style="color: red;">学生信息修改</h1>
<a href="login.jsp">返回主页</a>
<form action="servlet?method=update" method="post" onsubmit="return check()"> <div class="c">
姓名<input type="text" id="name" name="name" value="${param.name}"/>
</div>
<div class="a">
性别<input type="text" id="sex" name="sex" value="${param.sex}"/>
</div>
<div class="a">
民族<input type="text" id="ethnic" name="ethnic" value="${param.ethnic}"/>
</div>
<div class="a">
时间<input type="text" id="time" name="time" value="${param.time}"/>
</div>
<div class="a">
年龄<input type="text" id="old" name="old" value="${param.old}"/>
</div>
<div class="a">
政治面貌<input type="text" id="landscape" name="landscape" value="${param.landscape}"/>
</div>
<div class="a">
<button type="submit" class="b">修&nbsp;&nbsp;&nbsp;改</button>
</div>
</form>
</div>
<script type="text/javascript">
function check()
{
var name = document.getElementById("name");
var sex= document.getElementById("sex");
var ethnic = document.getElementById("ethnic");
var time = document.getElementById("time");
var old = document.getElementById("old");
var landscape = document.getElementById("landscape"); //非空
if(name.value == '')
{
alert('姓名为空');
name.focus();
return false;
} else if(sex.value == '')
{
alert('性别为空');
sex.focus();
return false;
}
else if(ethnic.value == '')
{
alert('民族为空');
ethnic.focus();
return false;
}
else if(time.value == '')
{
alert('时间为空');
time.focus();
return false;
}
else if(old.value == '')
{
alert('年龄为空');
old.focus();
return false;
}
else if(landscape.value == '')
{
alert('政治面貌为空');
landscape.focus();
return false;
}
}
</script>
</body>
</html>

change

三、编程体验(心得)

  当时考试的时候可以说思路有点不清晰,为了得复选框的那0.5分没有写3分的单项选择的题,主要还是能力的欠缺,这些基础的知识掌握的还不够牢固,在这次考试中也暴露出了许多的问题,比如对数据库连接的不够熟练,调试了好久才连接上,比如还有很多的知识只是套的模板,自己对其中的知识点还不是很了解,比如界面画的还是很丑,对CSS等画页面的技术的学习也有待进一步的提高!

2019年11月18日 JAVA期中考试 增删改查的更多相关文章

  1. 2016年11月18日 星期五 --出埃及记 Exodus 20:9

    2016年11月18日 星期五 --出埃及记 Exodus 20:9 Six days you shall labor and do all your work,六日要劳碌作你一切的工,

  2. Git学习(二)(2015年11月18日)(2016年1月29日)

    2015年11月18日Git学习: .Shell 删除文件夹及其所有文件 rd/s/q 文件目录 ---------------当前为先创建本地Git库后与网上Git服务器关联------------ ...

  3. 终端、mac等小技巧——2019年10月18日

    1.新建finder窗口 cmd+N 2.查看文件夹结构 brew install tree tree命令行参数(只实用与安装了tree命令行工具): -a 显示所有文件和目录. -A 使用ASNI绘 ...

  4. tmux使用——2019年11月20日16:40:15

    1.tmux 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令.用户与计算机的这种临时的交互,称为一次"会话& ...

  5. 打开随身U盘_办公专用盘 2019年11月29日

    ;;; ; 打开随身U盘_办公专用盘 2019年11月29日 ; https://www.autoahk.com/?p=16553; https://www.cnblogs.com/delphixx/ ...

  6. 'Rem EverythingAutoSetup.VBS 安装Everything的VBS脚本 2019年11月25日写

    'Rem EverythingAutoSetup.VBS 安装Everything的VBS脚本 2019年11月25日写 'Rem Everything是voidtools开发的一款本地NTFS文件和 ...

  7. 键盘和鼠标闲置超时时关闭显示器并锁定电脑桌面的AutoHotkey脚本 2019年11月24日写

    /* 键盘和鼠标闲置超时时关闭显示器并锁定电脑桌面的AutoHotkey脚本 2019年11月24日写 在电脑桌面锁定时移动鼠标就会显示登录界面,此时即使超过电源设置的时间电脑也不会关闭显示器使得屏幕 ...

  8. 百度鹰眼Java接口调用增删改查实例

    因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试.刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在.后又试了几种方法,均提示a ...

  9. MongoDB(二)-- Java API 实现增删改查

    一.下载jar包 http://central.maven.org/maven2/org/mongodb/mongo-java-driver/ 二.代码实现 package com.xbq.mongo ...

随机推荐

  1. flask 之(六) --- API|RestfulApi

    接口概念 IOP:面向接口编程,不再关注具体的实现:只关注输入.输出. http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practice ...

  2. 【MapReduce】一、MapReduce简介与实例

    (一)MapReduce介绍 1.MapReduce简介   MapReduce是Hadoop生态系统的一个重要组成部分,与分布式文件系统HDFS.分布式数据库HBase一起合称为传统Hadoop的三 ...

  3. 【C/C++开发】循环中使用递减计数与递增计数的效率区别

    有两个循环语句: 复制代码代码如下: for(i = n; i > 0; i--)  {  -  }  for(i = 0; i < n; i++)  {  -  }  为什么前者比后者快 ...

  4. 强大的项目管理工具maven

    大概功能:构建项目,管理jar包,编译代码,自动运行单元测试.打包.生成报表,部署项目,生成web站点. 重要功能:依赖管理(maven对jar包的管理过程,能够大大的节约磁盘空间).项目的一键构建. ...

  5. 第四周课程总结&实验报告(二)

    Java实验报告(二) 实验二 Java简单类与对象 一. 实验目的 (1) 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: (2) 理解类和对象的区别,掌握构造 ...

  6. 天勤考研数据结构笔记—栈的C语言实现

    栈的基本概念 栈的定义:栈是一种只能在一端进行插入或删除操作的线性表.其中允许进行插入或删除的一端称为栈顶(top).栈顶是由一个称为栈顶指针的位置指示器(其实就是一个变量,对于顺序栈,就是数组索引, ...

  7. JCC指令

    0.JMP1.JE, JZ 结果为零则跳转(相等时跳转) ZF=12.JNE, JNZ 结果不为零则跳转(不相等时跳转) ZF=03.JS   结果为负则跳转   SF=14.JNS   结果为非负则 ...

  8. Heavy Transportation POJ 1797 最短路变形

    Heavy Transportation POJ 1797 最短路变形 题意 原题链接 题意大体就是说在一个地图上,有n个城市,编号从1 2 3 ... n,m条路,每条路都有相应的承重能力,然后让你 ...

  9. # Pycharm打造高效Python IDE

    Pycharm打造高效Python IDE 建议以scientific mode运行,在科学计算时,可以方便追踪变量变化,并且会提示函数的用法,比普通模式下的提示更加智能,一般在文件中引入了numpy ...

  10. Django基础之模型(models)层(上)

    目录 Django基础之模型(models)层 单表查询 必知必会13条 神奇的双下划线查询 多表查询 外键的字段的增删改查 表与表之间的关联查询 基于双下划线的跨表查询(连表查询) 补充知识 Dja ...