📄 studentsvlt.java
字号:
package com.course;
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class StudentSvlt extends HttpServlet{
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
//获得学生ID
String stu_id =req.getParameter("id");
int success = 0;
// 获取请求中的参数
String action = action = req.getParameter("action");
student stu = null;
String message="";
//如果请求中包含新建学生参数
if ("new".equalsIgnoreCase(action)) {
// 调用新建学生方法
stu = doNew(req,res);
// 并将新建学生存储在request上下文中,然后转向getStudent.jsp页面
sendBean(req, res, stu, "/getStudent.jsp");
}
// 如果请求中包含修改学生参数
if ("update".equalsIgnoreCase(action)) {
try{
// 调用修改学生信息方法
stu = doUpdate(req,res, stu_id);
// 并将修改后的学生信息存储在request上下文中,然后转向getStudent.jsp页面
sendBean(req,res,stu,"/getStudent.jsp");
}
catch(SQLException e){}
}
// 如果请求中包含删除学生参数
if ("delete".equalsIgnoreCase(action)) {
try{
//调用删除学生方法
success = doDelete(stu_id);
}
catch(SQLException e){}
if (success != 1) {
doError(req, res, "StudentSvlt: Delete unsuccessful. Rows affected: " + success);
} else {
res.sendRedirect("http://localhost:8080/test/getStudent.jsp");
}
}
}
//新建学生方法定义
public student doNew(HttpServletRequest req,HttpServletResponse res )
throws ServletException,IOException{
student stu= new student();
String stu_id=req.getParameter("id");
String name=new String(req.getParameter("name").getBytes("ISO8859_1"));
String password= req.getParameter("password");
String dep=new String (req.getParameter("dep").getBytes("ISO8859_1"));
String sex = new String(req.getParameter("sex").getBytes("ISO8859_1"));
String jiguan = new String(req.getParameter("jiguan").getBytes("ISO8859_1"));
if(isTrue(req,res,stu_id,name,password) && hasLogin(req,res,stu_id)){
stu.setId(stu_id);
stu.setName(name);
stu.setPassword(password);
stu.setDep(dep);
stu.setSex(sex);
stu.setJiguan(jiguan);
stu.addStudent(); }
return stu;
}
//更新学生信息方法
public student doUpdate(HttpServletRequest req,HttpServletResponse res , String id)
throws ServletException,IOException,SQLException {
student stu = new student();
String name=new String(req.getParameter("name").getBytes("ISO8859_1"));
String password = req.getParameter("password");
String dep = new String(req.getParameter("dep").getBytes("ISO8859_1"));
String sex = new String(req.getParameter("sex").getBytes("ISO8859_1"));
String jiguan = new String(req.getParameter("jiguan").getBytes("ISO8859_1"));
if(isTrue(req,res,id,name,password)){
stu.setId(id);
stu.setName(name);
stu.setPassword(password);
stu.setDep(dep);
stu.setSex(sex);
stu.setJiguan(jiguan);
stu.updateStudent();}
return stu;
}
//删除学生方法
public int doDelete(String id) throws SQLException {
int num=0;
student stu=new student();
num=stu.deleteStudent(id);
return num;
}
//保存学生信息的JavaBean到request上下文中
public void sendBean(HttpServletRequest req, HttpServletResponse res,
student stu, String target)
throws ServletException, IOException {
req.setAttribute("stu", stu);
RequestDispatcher rd = getServletContext().getRequestDispatcher(target);
rd.forward(req, res);
}
//错误处理方法
public void doError(HttpServletRequest req,
HttpServletResponse res,
String str)
throws ServletException, IOException {
req.setAttribute("problem", str);
RequestDispatcher rd = getServletContext().getRequestDispatcher("/errorpage.jsp");
rd.forward(req, res);
}
//判断学生是否被注册过
public boolean hasLogin(HttpServletRequest req, HttpServletResponse res,String id)
throws ServletException, IOException{
boolean f=true;
String message="对不起,该学生号已经被注册过了!";
student stu= new student();
f= stu.hasLogin(id);
if(f==false){
doError(req,res,message);
}
return f;
}
//判断学生注册是否成功
public boolean isTrue(HttpServletRequest req, HttpServletResponse res,
String id,String name,String password)
throws ServletException, IOException {
boolean f=true;
String message ="";
if(id==null || id.equals("")) {
f=false;
message="错误,学生号不能为空!";
doError(req,res,message); }
if(name==null || name.equals("")) {
f=false;
message="学生姓名不能为空,请重新填写!";
doError(req,res,message); }
if(password==null || password.equals("")) {
f=false;
message="密码不能为空,请重新填写!";
doError(req,res,message); }
return f;
}
//响应post请求
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
doGet(req, res);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -