📄 actionservlet.java
字号:
package leng.servlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import javax.servlet.ServletContext;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpSession;
import java.io.PrintWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import leng.entity.User;
import leng.entity.Student;
/***********************************************
*如:http://127.0.0.1:8080/xiaolin/login.do *
*getServletContext()返回"/login.do" *
*getContextPath()返回"/xiaolin" *
***********************************************/
public class ActionServlet extends HttpServlet
{
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletContext application = getServletContext();//返回application
HttpSession session = request.getSession();//返回session
String path = request.getServletPath();//返回路径
String nextPage = null;//所要跳转的页面
path = path.substring(0, path.indexOf("."));//返回"."之前的一段。如,/login.do,返回login
request.setCharacterEncoding("gb2312");
if("/login".equals(path)) {//如果点击登录确定按钮
String loginName = request.getParameter("loginName");
String loginPwd = request.getParameter("loginPwd");
// System.out.println("****" + loginName + "****");
// System.out.println("****" + loginPwd + "****");
User user = new User(loginName, loginPwd);//将传进来的loginName和loginPwd封装成user对象
session.setAttribute("loginUser", user);//将user对象存入session
//返回application中的用户列表,与表单传进来的user进行比较。
ArrayList userList = (ArrayList) application.getAttribute("userList");
//迭代用户列表,发现符合的就跳出循环;迭代完毕后仍然没有符合的,就表明用户名密码错误
//有符合的用户就准备跳转到/page/success.jsp,没有符合的就跳转到/page/fail.jsp
for(Object temp : userList) {
if(((User)temp).equals(user)) {
nextPage = "/page/success.jsp";
break;
}
nextPage = "/page/fail.jsp";
}
// System.out.println("****" + nextPage + "****");
} else if("/create".equals(path)) {//如果点击创建按钮
String stuId = request.getParameter("stuId");
String stuName = request.getParameter("stuName");
Student student = new Student(stuId, stuName);////将传进来的stuId和stuName封装成student对象
//从application中返回学生map
HashMap stuMap = (HashMap) application.getAttribute("stuMap");
stuMap.put(student.hashCode(), student);//将封装好的student对象存入学生map
nextPage = "/page/list.jsp";//创建成功,跳回列表页面
} else if("/remove".equals(path)) {//如果点击删除按钮
String[] items = request.getParameterValues("item");//返回所有选中的项目的value,以String[]类型返回
//System.out.println("***" + items + "***");
HashMap stuMap = (HashMap) application.getAttribute("stuMap");//返回application中的学生列表
for(Object itemTemp : items) {
int code = Integer.parseInt((String) itemTemp);//将hashCode转换为int类型
stuMap.remove(code);//删除对应key的学生对象
}
nextPage = "/page/list.jsp";//删除成功,跳回列表页面
}
//页面跳转
RequestDispatcher dispatcher = application.getRequestDispatcher(nextPage);
dispatcher.forward(request, response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -