【发布时间】:2012-08-25 20:20:03
【问题描述】:
我的网络应用目录结构是
myApp
-src
- filtersPackage(all my filters lie in this package)
- servletsPackage(all my controllers and models lie in this package)
- web-content
- web
- views(all my jsp files lie in this dir)
- js(all my javascript files lie in this dir)
在 login.jsp 中,用户点击 FB 登录按钮,在 js/FBAUth.js 中我收集登录详细信息并使用 jquery ajax POST 方法将其发送到我的 auth.do servlet。
SessionFilter 允许请求转到 AuthServlet 的 doPost 方法。在 AuthServlet 如果凭据正确,则执行以下操作
url = "dashboard.jsp"
request.getSession().setAttribute("uid", id);
view = request.getRequestDispatcher(url);
view.forward(request, response);
return;
我在调试模式下看到这些行执行,但我的浏览器仍然卡在登录页面上。 view.requestURI -> /myApp/web/views/dashboard.jsp 和 view.servletPath -> /web/views/dashboardTmp.jsp。 我也尝试了 response.sendRedirect(url),但浏览器仍然卡在登录页面上。在这些行之后没有任何执行。
在web.xml中,我的auth servlet映射如下
<servlet>
<servlet-name>Auth</servlet-name>
<servlet-class>servletsPackage.AuthServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Auth</servlet-name>
<url-pattern>/web/views/auth.do</url-pattern>
</servlet-mapping>
我也尝试在doPost中调用doGet,并在doGet中执行了这段代码,但都是徒劳的。 我在这里错过了什么?
【问题讨论】:
标签: java jsp session servlets servlet-filters