我不知道吗?为什么需要req.getRequestDispatcher(USER_VIEW).forward(req,resp);不在UEER_VIEW中运行,它仍在doGet(){}中运行

时间:2018-12-02 13:47:08

标签: java jsp servlets request

@WebServlet(
        urlPatterns = {"/user/*"},
        initParams = {
                @WebInitParam(name = "USER_VIEW",value = "user.jsp")
        }
)

public class User extends HttpServlet {
    private String USER_VIEW;

    public void init(){
        USER_VIEW = getServletConfig().getInitParameter("USER_VIEW");
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        UserService userService = (UserService) getServletContext().getAttribute("userService");

        String usrname = req.getPathInfo().substring(1);
        if(userService.isUerExisted(usrname)){
            Blah blah = new Blah();
            blah.setUsername(usrname);
            List<Blah> blahs = userService.getBlahs(blah);
            req.setAttribute("blahs",blahs);
        }
        req.setAttribute("username",usrname);
        req.getRequestDispatcher(USER_VIEW).forward(req,resp);
    }

该程序仍在doGet函数中运行。不要在USER_VIEW中运行,USER_VIEW是user.jsp。我在hrme中收到url:http://localhost:8080/wbojsp/user/liming。 感谢我热心的朋友!

0 个答案:

没有答案