向 智能移动方向 Jsp 开发实训任务书及实训报告在线考试系统的制作
JSP 开发实训报告书
题 题
目 :
在 线 考 试 系 统 的 制 作 学 生 姓 名 勇 :
张 志 勇 学 学
院 院 院 :
理 学 院 班 班
计 级 :
信 计 13-1 指 导 教 师 :
李 晓 瑜 、 宋 健 、 赖 俊 峰
二〇一六年一月
一、 项目名称
在线考试系统-题库子系统 二、 功能要求
– a、用户治理 –
b、课程治理 –
c、题库治理
三、 需求分析
《在线考试系统-题库子系统》的用户包括用户治理员,试题治理员和题库使用人员,旨在建立一个独立的题库系统,为在线考试生成试卷提供支持,包含用户治理,科目治理,试题治理,生成试卷,试卷分析等内容,为用户提供了一个快速、全面、准确的试题治理平台。
四、 设计思想
a、使用 Java Web 技术实现
b、使用 Mysql 储备数据
c、基于 MVC 方式实现用例 设计思路:(如下图)
分步详解:
第一步:创建项目名(zhangzhiyong); 第二步:创建项目所需要的包; 第三步:导入需要的工具; 第四步:创建数据库的连接; 第五步:需要的预备工作做好之后,明确先做用户治理系统(登录,查看,删除,修改,增加,退出;); 第六步:做好用户治理之后进行科目治理(增加,删除,修改,查看;); 第七步:接下来进行知识点治理(增加,删除,修改,查看;);
五、 具体实现 一.用户治理:
需要的 servlet:
( user servlet)
)
package cn.zhangzhiyong.service; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse; import cn.zhangzhiyong.bean.User; import cn.zhangzhiyong.dao.UserDAO; import cn.zhangzhiyong.util.RequestUtil; @WebServlet("/UserServlet") public class UserServlet extends
Servlet {
private static final long serialVersionUID = 1L;
public UserServlet() {
super();
}
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
String type=request.getParameter("type");
String userLogname=request.getParameter("userLogname");
String userPwd=request.getParameter("userPwd");
UserDAO dao=new UserDAO();
User user=dao.login(userLogname, userPwd);
if("login".equals(type)){
if(user!=null){
request.getSession().setAttribute("SESSION_USER",user);
response.sendRedirect("res/index.html");
}else{
out.print("<script type="text/javascript">");
out.print("alert("用户名或密码错误,请重新输入!");");
out.print("window.location="login.jsp";");
out.print("</script>");
}
}else if("logout".equals(type)){
request.getSession().invalidate();
out.print("<script type="text/javascript">");
out.print("window.location="login.jsp";");
out.print("</script>");
}else if("list".equals(type)){
List<User> list=dao.selectAll();
request.setAttribute("list",list);
request.getRequestDispatcher("res/user.jsp").forward(request, response);
}
}
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
} ( user add servlet )
package cn.zhangzhiyong.service; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse; import cn.zhangzhiyong.bean.User; import cn.zhangzhiyong.dao.UserDAO; import cn.zhangzhiyong.util.RequestUtil; @WebServlet("/UserAddServlet") public class UserAddServlet extends
Servlet {
private static final long serialVersionUID = 1L;
public UserAddServlet() {
super();
}
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String login=request.getParameter("login");
String name=request.getParameter("name");
int type=(request.getParameter("type")==null)?
3:Integer.parseInt(request.getParameter("type"));
int status=(request.getParameter("status")==null)?
1:Integer.parseInt(request.getParameter("status"));
User user=new User(login,name,type,status);
UserDAO dao=new UserDAO();
int n=dao.save(user);
if(n==1){
response.sendRedirect("UserServlet?type=list");
}else{
response.sendRedirect("index.jsp");
}
}
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
} ( UserDeleteServl et )
package cn.zhangzhiyong.service; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse; import cn.zhangzhiyong.bean.User; import cn.zhangzhiyong.dao.UserDAO; import cn.zhangzhiyong.util.RequestUtil; import cn.zhangzhiyong.util.WebUtil;
@WebServlet("/UserDeleteServlet") public class UserDeleteServlet extends
Servlet {
private static final long serialVersionUID = 1L;
public UserDeleteServlet() {
super();
}
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8"); //
System.out.println(request.getParameter("Id"));
int id=RequestUtil.getInt(request,"Id");
UserDAO dao=new UserDAO();
dao.delete(id);
WebUtil.forward(request, response, "UserServlet?type=list");
}
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
} ( UserUpdate1Servlet )
package cn.zhangzhiyong.service; import java.io.File; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse; import javax.servlet.
.Part; import cn.zhangzhiyong.bean.User; import cn.zhangzhiyong.dao.UserDAO; import cn.zhangzhiyong.util.RequestUtil; import cn.zhangzhiyong.util.WebUtil; @WebServlet("/UserUpdate1Servlet") public class UserUpdate1Servlet extends
Servlet {
private static final long serialVersionUID = 1L;
public UserUpdate1Servlet() {
super();
}
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
int id=RequestUtil.getInt(request,"Id");
request.setAttribute("id", id);
request.getRequestDispatcher("res/user-update.jsp").forward(request, response);
}
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
} ( UserUpdateServlet )
package cn.zhangzhiyong.service; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse; import cn.zhangzhiyong.bean.User; import cn.zhangzhiyong.dao.UserDAO; import cn.zhangzhiyong.util.RequestUtil; @WebServlet("/UserUpdateServlet") public class UserUpdateServlet extends
Servlet {
private static final long serialVersionUID = 1L;
public UserUpdateServlet() {
super();
}
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String login=request.getParameter("login");
String name=request.getParameter("name");
String passwd=request.getParameter("passwd");
int type=Integer.parseInt(request.getParameter("type"));
int status=Integer.parseInt(request.getParameter("status"));
int id=RequestUtil.getInt(request,"id");
User users=new User(login,name,type,status);
UserDAO dao=new UserDAO();
int n=dao.update(users);
if(n==1){
response.sendRedirect("UserServlet?type=list");
}else{
response.sendRedirect("index.jsp");
}
}
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
} ( UserViewServlet )
package cn.zhangzhiyong.service;
import java.io.IOException; import java.io.PrintWriter;
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse;
import cn.zhangzhiyong.bean.User; import cn.zhangzhiyong.dao.UserDAO; import cn.zhangzhiyong.util.RequestUtil; @WebServlet("/UserViewServlet")
public class UserViewServlet extends
Servlet {
private static final long serialVersionUID = 1L;
public UserViewServlet() {
super();
}
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
String type=request.getParameter("type");
String userLogname=request.getParameter("userLogname");
String userPwd=request.getParameter("userPwd");
UserDAO dao=new UserDAO();
int id=RequestUtil.getInt(request,"Id");
User user1=dao.selectById(id);
request.setAttribute("user",user1);
request.getRequestDispatcher("res/user-show.jsp").forward(request, response);
}
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
需要的类:
package cn.zhangzhiyong.bean;
import java.sql.Timestamp;
public class User {
public static final String passwd="123456";
private int id;
private String login;
private String name;
private String password;
private int type;
private int status;
private Timestamp last_login;
public User(String login2, String name2, int type2, int status2) {
super();
this.login=login2;
this.name=name2;
this.type=type2;
this.status=status2;
}
public User() {
}
public User(int id2) {
this.id=id2;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public Timestamp getLast_login() {
return last_login;
}
public void setLast_login(Timestamp last_login) {
this.last_login = last_login;
}
}
需要的 dao:
package cn.zhangzhiyong.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;
import cn.zhangzhiyong.bean.User; import cn.zhangzhiyong.util.DBUtil;
public class UserDAO {
//userdao 中的 save 方法
public int save(User user){
int n=-1;
Connection conn=DBUtil.getConnection();//连接对象
PreparedStatement pstmt=null;//语句对象
//下边是 s 语句
String sql="insert into userss"
+" values(DL_USERSS.NEXTVAL,?,?,"123456",?,?,sysdate)";
try{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, user.getLogin());
pstmt.setString(2, user.getName());
pstmt.setInt(3, user.getType());
pstmt.setInt(4, user.getStatus());
n=pstmt.executeUpdate();//n=更新的行数
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.closeJDBC(null, pstmt, conn);
}
return n;
}
public User login(String userLogname, String userPwd) {
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=null;
ResultSet rs=null;
User u=null;
String sql="select id,login,name,passwd,type,status,last_login"
+ " from users where login=? and passwd=?";
try{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, userLogname);
pstmt.setString(2, userPwd);
rs=pstmt.executeQuery();
if(rs.next()){
u=new User();
u.setId(rs.getInt(1));
u.setLogin(rs.getString(2));
u.setName(rs.getString(3));
u.setPassword(rs.getString(4));
u.setType(rs.getInt(5));
u.setStatus(rs.getInt(6));
u.setLast_login(rs.getTimestamp(7));
}
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.closeJDBC(rs, pstmt, conn);
}
return u;
}
public User selectById(int Id) {
User user=new User();
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=null;
ResultSet rs=null;
String sql="select * from userss where id=?";
try{
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1, Id);
rs=pstmt.executeQuery();
if(rs.next()){
user.setId(rs.getInt(1));
user.setLogin(rs.getString(2));
user.setName(rs.getString(3));
user.setPassword(rs.getString(4));
user.setType(rs.getInt(5));
user.setStatus(rs.getInt(6));
}
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.closeJDBC(rs, pstmt, conn);
}
return user;
}
public List<User> selectAll(){
List<User> list=new ArrayList<User>();
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=null;
ResultSet rs=null;
String sql="select * from userss order by id desc";
try{
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()){
User user=new User();
user.setId(rs.getInt(1));
user.setLogin(rs.getString(2));
user.setName(rs.getString(3));
user.setPassword(rs.getString(4));
user.setType(rs.getInt(5));
user.setStatus(rs.getInt(6));
list.add(user);
}
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.closeJDBC(rs, pstmt, conn);
}
return list;
}
//userdao 中的 update 方法
public int update(User users){
int n=-1;
Connection conn=DBUtil.getConnection();//连接对象
PreparedStatement pstmt=null;//语句对象
String sql="update userss"
+ " set login=?,name=?,passwd=123,type=?,status=? where id=?";
try{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, users.getLogin());
pstmt.setString(2, users.getName());
pstmt.setInt(3, users.getType());
pstmt.setInt(4, users.getStatus());
pstmt.setInt(5,users.getId());
n=pstmt.executeUpdate();//n=更新的行数
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.closeJDBC(null, pstmt, conn);
}
return n;
}
//userdao 中的 delete 方法
public int delete(int id){
int m=-1;
Connection conn=DBUtil.getConnection();//连接对象
PreparedStatement pstmt=null;//语句对象
String sql="delete from userss where id=?";
try{
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1,id);
m=pstmt.executeUpdate();//n=更新的行数
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.closeJDBC(null, pstmt, conn);
}
return m;
}
} 二.科目治理:
需要的 servlet:
( SubjectViewServlet )
package cn.zhangzhiyong.service;
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse;
import cn.zhangzhiyong.bean.Subject; import cn.zhangzhiyong.dao.SubjectDAO; import cn.zhangzhiyong.util.RequestUtil;
/**
* Servlet implementation class SubjectViewServlet
*/ @WebServlet("/SubjectViewServlet") public class SubjectViewServlet extends
Servlet {
private static final long serialVersionUID = 1L;
public SubjectViewServlet() {
super();
}
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
SubjectDAO dao=new SubjectDAO();
int id=RequestUtil.getInt(request,"id");
Subject subject=dao.selectById(id);
request.setAttribute("Subject",subject);
request.getRequestDispatcher("res/subject-show.jsp").forward(request, response);
}
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
} ( SubjectUpdate2Servlet )
package cn.zhangzhiyong.service;
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse;
import cn.zhangzhiyong.bean.Subject; import cn.zhangzhiyong.dao.SubjectDAO; import cn.zhangzhiyong.util.RequestUtil;
@WebServlet("/SubjectUpdate2Servlet") public class SubjectUpdate2Servlet extends
Servlet {
private static final long serialVersionUID = 1L;
public SubjectUpdate2Servlet() {
super();
}
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
Subject subject =new Subject();
subject.setKname(RequestUtil.getString(request, "kname"));
subject.setType(RequestUtil.getInt(request, "type"));
subject.setKint(RequestUtil.getString(request, "kint"));
subject.setId(RequestUtil.getInt(request, "id"));
SubjectDAO dao=new SubjectDAO();
int n=dao.update(subject);
response.sendRedirect("ServletListServlet?type=list");
}
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
} ( SubjectUpdate0Servlet )
package cn.zhangzhiyong.service;
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse;
import cn.zhangzhiyong.bean.Subject; import cn.zhangzhiyong.dao.SubjectDAO; import cn.zhangzhiyong.util.RequestUtil;
/**
* Servlet implementation class SubjectUpdate0Servlet
*/ @WebServlet("/SubjectUpdate0Servlet") public class SubjectUpdate0Servlet extends
Servlet {
private static final long serialVersionUID = 1L;
public SubjectUpdate0Servlet() {
super();
}
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
SubjectDAO dao=new SubjectDAO();
int id=RequestUtil.getInt(request,"id");
Subject subject=dao.selectById(id);
request.setAttribute("Subject",subject);
request.getRequestDispatcher("res/subject-update.jsp").forward(request, response);
}
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
} ( SubjectListServlet )
package cn.zhangzhiyong.service;
import java.io.IOException; import java.util.List;
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse;
import cn.zhangzhiyong.dao.SubjectDAO; import cn.zhangzhiyong.bean.Subject;
/**
* Servlet implementation class SubjectListServlet
*/ @WebServlet("/SubjectListServlet") public class SubjectListServlet extends
Servlet {
private static final long serialVersionUID = 1L;
public SubjectListServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
SubjectDAO dao=new SubjectDAO();
List<Subject> list=dao.selectAll();
request.setAttribute("list",list);
request.getRequestDispatcher("res/subject1.jsp").forward(request, response);
}
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
} ( SubjectDeleteServlet )
package cn.zhangzhiyong.service;
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse;
import cn.zhangzhiyong.dao.SubjectDAO; import cn.zhangzhiyong.util.RequestUtil;
@WebServlet("/SubjectDeleteServlet") public class SubjectDeleteServlet extends
Servlet {
private static final long serialVersionUID = 1L;
public SubjectDeleteServlet() {
super();
}
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
int id=RequestUtil.getInt(request,"id");
SubjectDAO dao=new SubjectDAO();
dao.delete(id);
response.sendRedirect("SubjectListServlet?type=list");
}
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
} ( SubjectAddServlet )
package cn.zhangzhiyong.service;
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse;
import cn.zhangzhiyong.bean.Subject; import cn.zhangzhiyong.dao.SubjectDAO; import cn.zhangzhiyong.util.RequestUtil;
/**
* Servlet implementation class SubjectAddServlet
*/ @WebServlet("/SubjectAddServlet")
public class SubjectAddServlet extends
Servlet {
private static final long serialVersionUID = 1L;
/**
* @see
Servlet#
Servlet()
*/
public SubjectAddServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see
Servlet#doGet(
ServletRequest request,
ServletResponse response)
*/
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
Subject subject =new Subject();
subject.setKname(RequestUtil.getString(request, "kname"));
subject.setType(RequestUtil.getInt(request, "type"));
subject.setKint(RequestUtil.getString(request, "kint"));
SubjectDAO dao=new SubjectDAO();
int n=dao.save(subject);
response.sendRedirect("SubjectListServlet?type=list");
}
/**
* @see
Servlet#doPost(
ServletRequest request,
ServletResponse response)
*/
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
} 需要的类:
package cn.zhangzhiyong.bean;
public class Subject {
private int id;
private String kname;
private int type;
private String kint;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getKname() {
return kname;
}
public void setKname(String kname) {
this.kname = kname;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getKint() {
return kint;
}
public void setKint(String kint) {
this.kint = kint;
}
}
需要的 dao:
package cn.zhangzhiyong.dao;
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;
import cn.zhangzhiyong.util.DBUtil; import cn.zhangzhiyong.bean.Subject;
public class SubjectDAO {
public static List<Subject> selectAll() {
List<Subject> list = new ArrayList<>();
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=null;
ResultSet rs=null;
String sql ="select * from kuser";
try{
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()){
Subject subject=new Subject();
subject.setId(rs.getInt(1));
subject.setKname(rs.getString(2));
subject.setType(rs.getInt(3));
subject.setKint(rs.getString(4));
list.add(subject);
}
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.closeJDBC(rs, pstmt, conn);
}
return list;
}
public Subject selectById(int id) {
Subject subject=new Subject();
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=null;
ResultSet rs=null;
String sql="select * from kuser where id=?";
try{
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1, id);
rs=pstmt.executeQuery();
if(rs.next()){
subject.setId(rs.getInt(1));
subject.setKname(rs.getString(2));
subject.setType(rs.getInt(3));
subject.setKint(rs.getString(4));
}
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.closeJDBC(rs, pstmt, conn);
}
return subject;
}
public int save(Subject subject) {
int n=-1;
Connection conn=DBUtil.getConnection();//连接对象
PreparedStatement pstmt=null;//语句对象
//下边是 s 语句
String sql="insert into kuser"
+" values(seq_qst_kuser.nextval,?,?,?)";
try{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,subject.getKname());
pstmt.setInt(2,subject.getType());
pstmt.setString(3,subject.getKint());
n=pstmt.executeUpdate();//n=更新的行数
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.closeJDBC(null, pstmt, conn);
}
return n;
}
public int update(Subject subject) {
int n=-1;
Connection conn=DBUtil.getConnection();//连接对象
PreparedStatement pstmt=null;//语句对象
//下边是 s 语句
String sql="update kuser set kname=?,kint=?,type=? where id=?";
try{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,subject.getKname());
pstmt.setString(2,subject.getKint());
pstmt.setInt(3,subject.getType());
pstmt.setInt(4,subject.getId());
n=pstmt.executeUpdate();//n=更新的行数
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.closeJDBC(null, pstmt, conn);
}
return n;
}
public int delete(int id) {
int m=-1;
Connection conn=DBUtil.getConnection();//连接对象
PreparedStatement pstmt=null;//语句对象
String sql="delete from kuser where id=?";
try{
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1,id);
m=pstmt.executeUpdate();//n=更新的行数
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.closeJDBC(null, pstmt, conn);
}
return m;
}
} 三.知识点治理:
需要的 servlet:
( KnowAddServlet )
package cn.zhangzhiyong.service;
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse;
import cn.zhangzhiyong.bean.knowlege; import cn.zhangzhiyong.dao.KnowlegeDAO;
/**
* Servlet implementation class KnowAddServlet
*/ @WebServlet("/KnowAddServlet") public class KnowAddServlet extends
Servlet {
private static final long serialVersionUID = 1L;
/**
* @see
Servlet#
Servlet()
*/
public KnowAddServlet() {
super();
}
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8");
String title=request.getParameter("title");
String depict=request.getParameter("depict");
int subject_id=Integer.parseInt(request.getParameter("subject_id"));
Knowlege know=new Knowlege(title,depict,subject_id);
KnowlegeDAO dao=new KnowlegeDAO();
int n=dao.save(know);
if(n==1){
response.sendRedirect("KnowListServlet?type=list");
}else{
System.out.println("hhhh");
}
}
/**
* @see
Servlet#doPost(
ServletRequest request,
ServletResponse response)
*/
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
( KnowDeleteServlet )
package cn.zhangzhiyong.service;
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse;
import cn.zhangzhiyong.dao.KnowlegeDAO; import cn.zhangzhiyong.util.RequestUtil; import cn.zhangzhiyong.util.WebUtil;
/**
* Servlet implementation class KnowDeleteServlet
*/ @WebServlet("/KnowDeleteServlet") public class KnowDeleteServlet extends
Servlet {
private static final long serialVersionUID = 1L;
/**
* @see
Servlet#
Servlet()
*/
public KnowDeleteServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see
Servlet#doGet(
ServletRequest request,
ServletResponse response)
*/
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
int id=RequestUtil.getInt(request,"id");
KnowlegeDAO dao=new KnowlegeDAO();
dao.deleteKnowById(id);
WebUtil.forward(request, response, "KnowListServlet?type=list");
}
/**
* @see
Servlet#doPost(
ServletRequest request,
ServletResponse response)
*/
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
} ( ( KnowListServlet) )
package cn.zhangzhiyong.service;
import java.io.IOException; import java.util.List;
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse;
import cn.zhangzhiyong.bean.knowlege; import cn.zhangzhiyong.dao.KnowlegeDAO; import cn.zhangzhiyong.dao.SubjectDAO; import cn.zhangzhiyong.util.RequestUtil; import cn.zhangzhiyong.util.WebUtil;
/**
* Servlet implementation class KnowListServlet
*/ @WebServlet("/KnowListServlet") public class KnowListServlet extends
Servlet {
private static final long serialVersionUID = 1L;
/**
* @see
Servlet#
Servlet()
*/
public KnowListServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see
Servlet#doGet(
ServletRequest request,
ServletResponse response)
*/
protected void doGet(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
SubjectDAO dao =new SubjectDAO();
request.setAttribute("subjectList", dao.selectAll());
int id = RequestUtil.getInt(request, "id");
if(id>0)
{
KnowlegeDAO pdao = new KnowlegeDAO();
List<Knowlege> knowList=pdao.findKnowsById(id);
request.setAttribute("knowList", knowList);
}
WebUtil.forward(request, response, "res/article.jsp"); }
protected void doPost(
ServletRequest request,
ServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
} ( ( KnowUpdate2Servlet) )
package cn.zhangzhiyong.service;
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.
.
Servlet; import javax.servlet.
.
ServletRequest; import javax.servlet.
.
ServletResponse;
import cn.zhangzhiyong.bean.knowlege; import cn.zhangzhiyong.dao.KnowlegeDAO; import cn.zhangzhiyong.util.WebUtil;
/**
* Servlet implementation class KnowUpdate2Servlet
*/ @WebServlet("/KnowUpdate2Servlet") public class KnowUpdate2Servlet extends
Servlet {
private static final long serialVersionUID = 1L;
/**
* @see
Servlet#
Servlet()
*/
public KnowUpdate2Servlet() {
super();
// TODO Auto-generated constructor stub
}
KnowlegeDAO dao=new KnowlegeDAO();
/**
* @see
Servlet#doGet(
ServletRequest request,
...