springmvc怎么重定向到webroot下

配置视图解析器:

 <!-- 2.内部资源视图解析器  -->    
    <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages"></property>
        <property name="suffix" value=""></property>
    </bean>

代码:

 @RequestMapping("/login/studentlogin.action")
    public String studentlogin(Integer username,String password){
        System.out.println("接收到数据:"+username+"---"+password);
        Map map = new HashMap();
        map.put("id", username);
        map.put("password", password);
        List<Student> students = this.studentService.findStudent(map);
        if(students.size()==1){
            System.out.println("密码正确");
            return "redirect:/showcourse/toshowcourse.action";
        }else{
            System.out.println("密码错误");
            return "";
        }
    }

图片说明

我想密码错误的时候,重新返回到根目录下的页面上去,但是因为在视图中已经将所有的请求放入WEB-INF下面去了,不知道怎么写才返回到根目录下,各位大神解答下?

问题解决了:

 session.invalidate();
            return "redirect:/index.jsp";

在返回之前写着条一句,然后重定向页面名字即可。

request.getRequestDispatcher("/index.jsp").forward(request, response)

方法传参数时多传个reqeust,response,然后使用response.sendRedirect(_request.getContextPath() + "/index.jsp);

System.out.println("密码正确");
request.getRequestDispatcher("/error.jsp").forward(request, response);

将判断设置为boolean类型,密码正确返回true错误返回false
在servlet里调用该boolean flag = studentlogin(name,password);方法,

 if(flag){//为真true
  //密码正确跳转到你想让他跳转的界面
 request.getRequestDispatcher("/   .jsp").forward(request, response);
}else{
  request.getRequestDispatcher("/index.jsp").forward(request, response);
}

换个思路,不要非回到根目录下。这么做感觉难就说明不应该这么实现。

其实你要做的就是密码错误的时候给出提示,然后重新输入嘛,
好的做法应该是index.jsp里面给个跳转,直接跳转到pages下面一个login.jsp页面
然后密码错误再跳转不是就简单了,跳转到pages下面的login.jsp就可以了