首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从servlet转发到servlet

从servlet转发到servlet
EN

Stack Overflow用户
提问于 2014-04-12 21:32:52
回答 2查看 2.2K关注 0票数 0

基于servlet应用程序的前端控制器的工作,但无法了解如何从前端contoller转发到常规控制器。

这是我的web.xml:

代码语言:javascript
复制
<servlet>
    <servlet-name>FrontServlet</servlet-name>
    <servlet-class>FrontServlet</servlet-class>
</servlet>
<servlet>
    <servlet-name>IndexServlet</servlet-name>
    <servlet-class>application.controllers.IndexServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>FrontServlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

FrontServlet

代码语言:javascript
复制
public class FrontServlet extends HttpServlet {
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ServletContext context= getServletContext();
        RequestDispatcher rd = context.getRequestDispatcher("IndexServlet");
        rd.forward(request, response);
    }
}

此代码返回:java.lang.NullPointerException。我使用的是WebLogic服务器。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-12 23:05:12

  1. 您有IndexServlet的servlet映射吗?
  2. 要发送到servlet,您需要像"/IndexServlet.do“这样的路径 this.getServletContext () .getRequestDispatcher ( "/IndexServlet.do“) .forward (请求、响应)或response.sendRedirect ( "/IndexServlet.do”); 假设你的地图就像 无偿指标 /指标Servlet.do

我根本没有尝试使用任何扩展,而是使用.do或。但是我会让它与.do一起工作,然后尝试改变它

票数 1
EN

Stack Overflow用户

发布于 2014-04-12 23:21:55

您没有为servletMapping提供IndexServlet和requestDispatcher工作在URL上。

在servletMapping中给出一个适当的web.xml,如下所示:

代码语言:javascript
复制
<servlet>
    <servlet-name>FrontServlet</servlet-name>
    <servlet-class>FrontServlet</servlet-class>
</servlet>
<servlet>
    <servlet-name>IndexServlet</servlet-name>
    <servlet-class>application.controllers.IndexServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>FrontServlet</servlet-name>
    <url-pattern>/frontServlet.html</url-pattern>
</servlet-mapping>


<servlet-mapping>
    <servlet-name>FrontServlet</servlet-name>
    <url-pattern>/indexServlet.html</url-pattern>
</servlet-mapping>

在您的FrontServlet.java中,将url指定为"/indexServlet.html“。看起来不错。如果您正在转发的视图不可访问,则将引发NullPointerException。您的IndexServlet.java转发请求是否指向jsp/html?在这种情况下,检查jsp/html是否可以使用http://{webapp}/loginjsp.jsp访问。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23036384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档