开发工具:eclipse 数据库:SQLServer(数据与实体类一样)
所需jar包
项目结构:
实体类(与数据库参数一样):
班级表 Scl
班级id cid int
班级名字 cname varchar(255)
教员表 Sther
教员id tid int
教员姓名 tname varchar(255)
学生表 Stud
学生id sid int
学生名字 sname varchar(255)
教员名字 tname varchar(255)
所在班级 cname varchar(255)
爱好 shabit varchar(255)
主界面:
主界面jsp代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="">
table,tr,td{
border-collapse: collapse;
}
td{
text-align: center;
}
</style>
</head>
<body>
<form action="a.do">
<p align="center">主界面 <a href="add.jsp">新增</a></p>
<table border align="center">
<tr>
<td colspan="6">
<label> 教员:</label>
<select name="ther">
<option >--请选择--</option>
<c:forEach var="t" items="${tall }">
<option value="${ t.tname }" ${t.tname==ther?"selected":"" } >${ t.tname }</option>
</c:forEach>
</select>
<label> 班级:</label>
<select name="scl">
<option>--请选择--</option>
<c:forEach var="c" items="${call }">
<option value="${ c.cname }" ${c.cname==scl?"selected":"" }>${ c.cname }</option>
</c:forEach>
</select>
<label value=""> 爱好:</label>
<input type="checkbox" name="ah" value="篮球" <c:forEach var="h" items="${shabit }">
<c:if test="${h=='篮球' }">checked</c:if>
</c:forEach>>篮球
<input type="checkbox" name="ah" value="足球" <c:forEach var="h" items="${shabit }">
<c:if test="${h=='足球' }">checked</c:if>
</c:forEach>>足球
<input type="checkbox" name="ah" value="唱歌" <c:forEach var="h" items="${shabit }">
<c:if test="${h=='唱歌' }">checked</c:if>
</c:forEach>>唱歌
<input type="checkbox" name="ah" value="跳舞" <c:forEach var="h" items="${shabit }">
<c:if test="${h=='跳舞' }">checked</c:if>
</c:forEach>>跳舞
<input type="checkbox" name="ah" value="摇花手" <c:forEach var="h" items="${shabit }">
<c:if test="${h=='摇花手' }">checked</c:if>
</c:forEach>>摇花手
<button id="">查询</button>
</td>
</tr>
</form>
<tr>
<td>学生id</td>
<td>学生名字</td>
<td>学生教员</td>
<td>班级</td>
<td>学生爱好</td>
<td>操作</td>
</tr>
<c:forEach var="i" items="${all }">
<tr>
<td>${i.sid }</td>
<td>${i.sname }</td>
<td>${i.tname }</td>
<td>${i.cname }</td>
<td>${i.shabit }</td>
<td><a href="del.do?sid=${ i.sid }" onclick="return confirm('确定要删除嘛')">删除</a> <a href="one.do?sid=${ i.sid }">修改</a></td>
</tr>
</c:forEach>
</table>
</body>
</html>
主界面的Servlet
package com.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 javax.servlet.http.HttpSession;
import com.biz.IstudBiz;
import com.biz.impl.studBiz;
import com.entity.Scl;
import com.entity.Sther;
import com.entity.Stud;
@WebServlet("/index.do")
public class AllSuServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession();
IstudBiz is=new studBiz();
List<Stud> all = is.getall();
List<Scl> call = is.cgetall();
List<Sther> tall = is.tgetall();
req.setAttribute("all", all);
session.setAttribute("call", call);
session.setAttribute("tall", tall);
req.getRequestDispatcher("index.jsp").forward(req, resp);
}
}
增加界面:
jsp代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="">
table,tr,td{
border-collapse: collapse;
}
</style>
</head>
<body>
<form action="add.do">
<p align="center">增加界面 <a href="index.do">返回主页</a></p>
<table border align="center">
<tr>
<td><label> 姓名:</label><input name="name"></td>
</tr>
<tr>
<td>
<label> 教员:</label>
<select name="st">
<c:forEach var="t" items="${tall }">
<option value="${ t.tname }" >${ t.tname }</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>
<label> 班级:</label>
<select name="sc">
<c:forEach var="c" items="${call }">
<option value="${ c.cname }" >${ c.cname }</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>
<label value=""> 爱好:</label>
<input type="checkbox" name="ah" value="篮球" >篮球
<input type="checkbox" name="ah" value="足球" >足球
<input type="checkbox" name="ah" value="唱歌" >唱歌
<input type="checkbox" name="ah" value="跳舞" >跳舞
<input type="checkbox" name="ah" value="摇花手" >摇花手
</td>
</tr>
<tr>
<td>
<button >增加</button>    <button type="reset" >重置</button>
</td>
</tr>
</table>
</form>
</body>
</html>
增加Servlet
package com.Servlet;
import java.io.IOException;
import java.io.PrintWriter;
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 com.biz.IstudBiz;
import com.biz.impl.studBiz;
import com.entity.Stud;
@WebServlet("/add.do")
public class AddServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
String name = req.getParameter("name");
String st = req.getParameter("st");
String sc = req.getParameter("sc");
String[] ah = req.getParameterValues("ah");
String shabit="";
for (String s : ah) {
shabit+=s+",";
}
IstudBiz is=new studBiz();
int a = is.add(new Stud(0, name, st, sc, shabit));
//System.out.println("hhh"+a);
if(a>0) {
out.print("<script>alert('增加成功');location.href='index.do'</script>");
}else {
out.print("<script>alert('增加失败');location.href='add.jsp'</script>");
}
}
}
删除:
删除会有询问是要删除,点击确定方可弹出删除成功。详情可看主界面jsp代码
删除的Servlet
package com.Servlet;
import java.io.IOException;
import java.io.PrintWriter;
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 com.biz.IstudBiz;
import com.biz.impl.studBiz;
@WebServlet("/del.do")
public class delServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
int sid = Integer.parseInt(req.getParameter("sid"));
IstudBiz is=new studBiz();
int d = is.del(sid);
if(d>0) {
out.print("<script>alert('删除成功');location.href='index.do'</script>");
}else {
out.print("<script>alert('删除失败');location.href='index.do'</script>");
}
}
}
修改
修改的jsp代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="">
table,tr,td{
border-collapse: collapse;
}
</style>
</head>
<body>
<form action="upd.do">
<p align="center">修改界面 <a href="index.do">返回主页</a></p>
<table border align="center">
<tr>
<td><input name="id" type="hidden" value="${o.sid }"></td>
</tr>
<tr>
<td><label> 姓名:</label><input name="name" value="${o.sname }"></td>
</tr>
<tr>
<td>
<label> 教员:</label>
<select name="st">
<option value="${ o.tname }" >${ o.tname }</option>
<c:forEach var="t" items="${tall }">
<option value="${ t.tname }" >${ t.tname }</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>
<label> 班级:</label>
<select name="sc">
<option value="${ o.cname }" >${ o.cname }</option>
<c:forEach var="c" items="${call }">
<option value="${ c.cname }" >${ c.cname }</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>
<label value=""> 爱好:</label>
<input type="checkbox" name="ah" value="篮球" <c:forEach var="h" items="${shabit }">
<c:if test="${h=='篮球' }">checked</c:if>
</c:forEach>>篮球
<input type="checkbox" name="ah" value="足球" <c:forEach var="h" items="${shabit }">
<c:if test="${h=='足球' }">checked</c:if>
</c:forEach>>足球
<input type="checkbox" name="ah" value="唱歌" <c:forEach var="h" items="${shabit }">
<c:if test="${h=='唱歌' }">checked</c:if>
</c:forEach>>唱歌
<input type="checkbox" name="ah" value="跳舞" <c:forEach var="h" items="${shabit }">
<c:if test="${h=='跳舞' }">checked</c:if>
</c:forEach>>跳舞
<input type="checkbox" name="ah" value="摇花手" <c:forEach var="h" items="${shabit }">
<c:if test="${h=='摇花手' }">checked</c:if>
</c:forEach>>摇花手
</td>
</tr>
<tr>
<td>
<button>修改</button>    <button type="reset">重置</button>
</td>
</tr>
</table>
</form>
</body>
</html>
修改的Servlet
package com.Servlet;
import java.io.IOException;
import java.io.PrintWriter;
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 com.biz.IstudBiz;
import com.biz.impl.studBiz;
import com.entity.Stud;
@WebServlet("/upd.do")
public class UpdServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
int sid =Integer.parseInt(req.getParameter("id"));
String name = req.getParameter("name");
String st = req.getParameter("st");
String sc = req.getParameter("sc");
String[] ah = req.getParameterValues("ah");
String shabit="";
for (String s : ah) {
shabit+=s+",";
}
IstudBiz is=new studBiz();
int u = is.upd(new Stud(sid, name, st,sc, shabit));
if(u>0) {
out.print("<script>alert('修改成功');location.href='index.do'</script>");
}else {
out.print("<script>alert('修改失败');location.href='index.do'</script>");
}
}
}
查询
根据单个学生查询的servlet
package com.Servlet;
import java.io.IOException;
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 com.biz.IstudBiz;
import com.biz.impl.studBiz;
import com.entity.Stud;
@WebServlet("/one.do")
public class OneServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int sid = Integer.parseInt(req.getParameter("sid"));
IstudBiz is=new studBiz();
Stud one = is.byId(sid);
String ah = one.getShabit();
String[] shabit = ah.split(",");
req.setAttribute("o", one);
req.setAttribute("shabit", shabit );
req.getRequestDispatcher("upd.jsp").forward(req, resp);
}
}
根据老师和班级查
package com.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 javax.servlet.http.HttpSession;
import com.biz.IstudBiz;
import com.biz.impl.studBiz;
import com.entity.Scl;
import com.entity.Sther;
import com.entity.Stud;
@WebServlet("/a.do")
public class MoServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession();
String ther = req.getParameter("ther");
String scl = req.getParameter("scl");
String ah = req.getParameter("ah");
IstudBiz is=new studBiz();
if(ther==null&&scl==null) {
List<Stud> all = is.getall();
req.setAttribute("all", all);
List<Scl> call = is.cgetall();
List<Sther> tall = is.tgetall();
session.setAttribute("call", call);
session.setAttribute("tall", tall);
req.getRequestDispatcher("index.jsp").forward(req, resp);
}else {
List<Stud> all = is.getKey(ther, scl, ah);
req.setAttribute("all",all);
List<Scl> call = is.cgetall();
List<Sther> tall = is.tgetall();
session.setAttribute("call", call);
session.setAttribute("tall", tall);
req.getRequestDispatcher("index.jsp").forward(req, resp);
}
}
}
项目所有Dao方法
package com.dao.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.dao.IstudDao;
import com.entity.Scl;
import com.entity.Sther;
import com.entity.Stud;
import com.uitl.DBHelp;
public class studDao implements IstudDao{
Connection con;
PreparedStatement ps;
ResultSet rs;
/**
* 查询学生所有
*/
public List<Stud> getall() {
List<Stud> list=new ArrayList<Stud>();
try {
con=DBHelp.getCon();
String sql="select * from Stud";
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()) {
Stud s=new Stud(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5));
list.add(s);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DBHelp.myClose(con, ps, rs);
}
return list;
}
/**
* 查询班级所有
*/
@Override
public List<Scl> cgetall() {
List<Scl> list=new ArrayList<Scl>();
try {
con=DBHelp.getCon();
String sql="select * from scl";
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()) {
Scl c=new Scl(rs.getInt(1), rs.getString(2));
list.add(c);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DBHelp.myClose(con, ps, rs);
}
return list;
}
/**
* 查询教员所有
*/
@Override
public List<Sther> tgetall() {
List<Sther> list=new ArrayList<Sther>();
try {
con=DBHelp.getCon();
String sql="select * from Sther";
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()) {
Sther t=new Sther(rs.getInt(1), rs.getString(2));
list.add(t);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DBHelp.myClose(con, ps, rs);
}
return list;
}
/**
* 增加学生
*/
@Override
public int add(Stud n) {
try {
con=DBHelp.getCon();
String sql="insert into stud values(?,?,?,?)";
ps=con.prepareStatement(sql);
ps.setString(1,n.getSname());
ps.setString(2,n.getTname());
ps.setString(3,n.getCname());
ps.setString(4,n.getShabit());
return ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
DBHelp.myClose(con, ps, rs);
}
return 0;
}
/**
* 根据id删除学生
*/
@Override
public int del(int sid) {
try {
con=DBHelp.getCon();
String sql="delete stud where sid=?";
ps=con.prepareStatement(sql);
ps.setInt(1, sid);
return ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
DBHelp.myClose(con, ps, rs);
}
return 0;
}
/**
* 模糊查询
*/
@Override
public List<Stud> getKey(String tname, String cname, String shabit) {
List<Stud> list=new ArrayList<Stud>();
try {
con=DBHelp.getCon();
String sql="select * from stud where tname like ? and cname like ? and shabit like ?";
ps=con.prepareStatement(sql);
ps.setString(1, "%"+tname+"%");
ps.setString(2, "%"+cname+"%");
ps.setString(3, "%"+shabit+"%");
rs=ps.executeQuery();
while(rs.next()) {
Stud p=new Stud(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5));
System.out.println(p+"哈哈哈哈哈哈");
list.add(p);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DBHelp.myClose(con, ps, rs);
}
return list;
}
/**
* 根据id查询单个学生
*/
@Override
public Stud byId(int sid) {
try {
con=DBHelp.getCon();
String sql="select * from stud where sid=?";
ps=con.prepareStatement(sql);
ps.setInt(1, sid);
rs=ps.executeQuery();
if(rs.next()) {
Stud st=new Stud(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5));
return st;
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DBHelp.myClose(con, ps, rs);
}
return null;
}
/**
* 根据id修改学生
*/
@Override
public int upd(Stud s) {
try {
con=DBHelp.getCon();
String sql="update stud set sname=?,tname=?,cname=?,shabit=? where sid=?";
ps=con.prepareStatement(sql);
ps.setString(1,s.getSname());
ps.setString(2,s.getTname());
ps.setString(3,s.getCname());
ps.setString(4,s.getShabit());
ps.setInt(5, s.getSid());
return ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
DBHelp.myClose(con, ps, rs);
}
return 0;
}
}
see you 更多精彩咱们下期见~~