📄 servlet.java
字号:
//servlet,用与获取页面发送过来的request,然后调用StudentService,并返回response
package servlet;
import student.Student;
import student.StudentService;
import student.StudentDao;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.servlet.*;
import javax.servlet.http.*;
public class Servlet extends HttpServlet
{
private static final long serialVersionUID = 6572286062176280161L;
//public void init() throws ServletException
HttpServletRequest request;
HttpServletResponse response;
HttpSession session;
Student st=new Student();
StudentService ss=new StudentService();
//这里处理添加、删除、查询等操作
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws IOException, ServletException
{
request=req;
response=res;
session = request.getSession();
st=setValueToStudent(request);
// 显示所有学生信息
if(request.getRequestURI().equals("/StudentDBMS/student/showAllStudent"))
{
StudentDao sd=new StudentDao();
try
{
ArrayList<Student> studentlist=sd.getStudentList("select * from student");
HttpSession session=request.getSession();
session.setAttribute("studentList", studentlist);
response.sendRedirect("studentDB.jsp"); //重定向可以共享session中的数据,返回给studentDB.jsp一个studentList
//request.setAttribute("studentList", studentlist);
//RequestDispatcher redisp= request.getRequestDispatcher("studentDB.jsp");
//redisp.forward(request, response);
}
catch (SQLException e)
{
e.printStackTrace();
}
}
//添加学生信息
if(request.getRequestURI().equals("/StudentDBMS/student/add"))
{
//StudentService ss = new StudentService();
Student student = this.setValueToStudent(request);
boolean flag = ss.addStudent(student);
if(flag)
response.sendRedirect("showAllStudent");
//response.setHeader("Location","studentDB.jsp");
else
{
response.sendRedirect("error.jsp");
System.out.println("主键(学号)冲突,不能插入该学生信息!");
}
}
//删除学生信息
if(request.getRequestURI().equals("/StudentDBMS/student/del"))
{
try
{
String str=(String)request.getParameter("NumId");
ss.del(str);
response.sendRedirect("showAllStudent");
}
catch (SQLException e)
{
e.printStackTrace();
response.sendRedirect("error.jsp");
}
catch (Exception e)
{
e.printStackTrace();
response.sendRedirect("error.jsp");
}
}
//查询学生信息,并在页面显示
if(request.getRequestURI().equals("/StudentDBMS/student/find"))
{
try
{
ArrayList<Student> studentlist;
studentlist=ss.find((String)request.getParameter("name"),(String)request.getParameter("age"),
(String)request.getParameter("num"),(String)request.getParameter("class"));
//HttpSession session=request.getSession();
//session.setAttribute("studentList", studentlist);
//response.sendRedirect("studentDB.jsp");
request.setAttribute("studentList", studentlist);
RequestDispatcher redisp= request.getRequestDispatcher("studentDB.jsp");
redisp.forward(request, response); //request.getRequestDispatcher("/find.jsp").forward(request, response);
//response.sendRedirect("find.jsp"); sendRedirect是重定向,可以传递session范围内的参数,但是不能传递request的参数
}
catch(Exception e)
{
e.printStackTrace();
response.sendRedirect("error.jsp");
}
}
if(request.getRequestURI().equals("/StudentDBMS/student/firstModify"))
{
try
{
Student st=new Student();
if(request.getParameter("NumId")!=null)
{
StudentDao sd=new StudentDao();
try
{
st=sd.returnstudent((String)request.getParameter("NumId"));
}
catch (SQLException e)
{
e.printStackTrace();
}
}
//这里需要一个全局的变量"id"用来存放需要修改学生的学号
session.setAttribute("id",(String)request.getParameter("NumId"));
//或者存放在this.getServletContext().setAttribute("id",(String)request.getParameter("NumId"));
/**session.setAttribute("student", st); //这里如果将student放在session里,其生命周期过长,添加时有问题
response.sendRedirect("modify.jsp");
*/
request.setAttribute("student", st);
RequestDispatcher redisp= request.getRequestDispatcher("modify.jsp");
redisp.forward(request, response);
}
catch(Exception e)
{
e.printStackTrace();
response.sendRedirect("error.jsp");
}
}
//添加、修改学生信息
if(request.getRequestURI().equals("/StudentDBMS/student/modify"))
{
st=setValueToStudent(request);
boolean is=false;
//ArrayList<Student> studentlist = null;
try
{ //读取存放在session中的变量"id",即学生学号
String id=(String)session.getAttribute("id");
//studentlist=ss.returnstudent(id);
//is=ss.modify(studentlist, st, id);//(studentlist,request,response);
is=ss.mod(st, id);
}
catch (SQLException e)
{
e.printStackTrace();
}
if(is)response.sendRedirect("showAllStudent");
else response.sendRedirect("error.jsp");
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res)
throws IOException, ServletException
{
//注意参数传递
request=req;
response=res;
doGet(request,response);
}
//将request中的学生信息封装在Student类st中
public Student setValueToStudent(HttpServletRequest request)
{
//Student st=new Student();
st.setStudentName(request.getParameter("name"));
st.setStudentAge(request.getParameter("age"));
st.setStudentNum(request.getParameter("num"));
st.setStudentClass(request.getParameter("class"));
return st;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -