@Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); String action = req.getParameter("action"); StudentService ss = new StudentServiceImpl(); Person person = (Person) req.getSession().getAttribute("session_person"); String userAccount = person.getUserAccount(); ManageService ms = new ManageServiceImpl(); if(action.equals("index")){ //跳转到首页 req.setAttribute("mainRight","blank.jsp"); req.getRequestDispatcher("main.jsp").forward(req,resp); }else if(action.equals("goMyDetail")){ req.setAttribute("mainRight","detail.jsp"); req.getRequestDispatcher("main.jsp").forward(req,resp); }else if(action.equals("upPassword")){ //upPassword req.getRequestDispatcher("upPassword.jsp").forward(req,resp); }else if(action.equals("sureUpPassword")){ //common.action?action=sureUpPassword String userPassword = req.getParameter("userPassword"); ms.sureUpPassword(userAccount,userPassword); req.setAttribute("tip","修改成功,请关闭此页面"); req.getRequestDispatcher("success.jsp").forward(req,resp); } }
时间: 2024-04-27 14:24:44 浏览: 97
这段代码是一个 Java Servlet 中的 service 方法,用于处理来自客户端的 HTTP 请求。首先,它通过 req.getParameter("action") 获取请求参数 action 的值,并且设置请求编码为 UTF-8。
接下来,它根据 action 参数的不同值来执行不同的操作。如果 action 等于 "index",则将 "blank.jsp" 设置为请求属性 mainRight,并且将请求转发到 "main.jsp" 页面。如果 action 等于 "goMyDetail",则将 "detail.jsp" 设置为请求属性 mainRight,并且将请求转发到 "main.jsp" 页面。如果 action 等于 "upPassword",则将请求转发到 "upPassword.jsp" 页面。如果 action 等于 "sureUpPassword",则通过 req.getParameter("userPassword") 获取用户输入的密码,调用 ms.sureUpPassword() 方法修改密码,并且将 "修改成功,请关闭此页面" 设置为请求属性 tip,然后将请求转发到 "success.jsp" 页面。
在方法的开头,它还通过 req.getSession().getAttribute("session_person") 获取了当前登录用户的信息,并且从中获取了用户账号(userAccount)。同时,它还创建了一个 StudentService 和 ManageService 的实例,用于执行业务操作。
相关问题
@Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); String action = req.getParameter("action"); StudentService ss = new StudentServiceImpl(); Person person = (Person) req.getSession().getAttribute("session_person"); String userAccount = person.getUserAccount(); ManageService ms = new ManageServiceImpl();
这段代码看起来像是一个Java Web应用程序中的Servlet类的service()方法。在这个方法中,首先设置了请求的字符编码为UTF-8,然后获取了名为"action"的请求参数值。接下来创建了一个StudentService的实现类对象ss和一个ManageService的实现类对象ms。然后从当前会话中获取了名为"session_person"的属性并将其强制转换为Person类型对象,然后获取了该Person对象的"userAccount"属性值。最后,这段代码似乎缺少了一些必要的语句,可能会继续执行其他操作。如果您有更具体的问题或上下文,请告诉我。
package com.qingruan.controller; import com.qingruan.bean.Users; import com.qingruan.dao.UserDao; 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 java.io.IOException; @WebServlet("/loginServlet") public class UserLoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.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"); String username=req.getParameter("username"); String password=req.getParameter("password"); UserDao dao=new UserDao(); Users users=dao.usersLogin(username,password); if(users!=null){ req.setAttribute("users",users); req.getRequestDispatcher("/empQueryAll").forward(req,resp); }else{ System.out.println("登录失败"); resp.sendRedirect("login.jsp"); } } }
这是一个Java Servlet类,用于处理用户登录请求。它通过@WebServlet注解指示它可以处理来自“/loginServlet”URL路径的HTTP请求。该类继承了HttpServlet类,并重写了doGet和doPost方法,以便在处理HTTP GET和POST请求时调用相应代码。
在doPost方法中,首先设置请求和响应的编码格式为utf-8。然后获取用户通过请求提交的用户名和密码,并调用UserDao类的usersLogin方法进行验证。如果验证通过,将用户信息设置为请求属性,并将请求转发到“/empQueryAll”路径。如果验证失败,将响应重定向到“login.jsp”页面。
需要注意的是,这段代码中的“/empQueryAll”路径是另一个Servlet或JSP页面的路径,它用于显示所有员工的信息。如果需要使用此段代码,需要确保“/empQueryAll”路径指向正确的Servlet或JSP页面。
阅读全文