标签: requestdispatcher

我们可以将请求分派给servlet中的HTML吗?

这可能吗?

RequestDispatcher rd = request.getRequestDispatcher("index.html");
rd.forward(request, response);
Run Code Online (Sandbox Code Playgroud)

java servlets requestdispatcher

3
推荐指数
1
解决办法
9526
查看次数

RequestDispatcher.forward()到"/ WEB-INF"下的资源在WebSphere中不起作用

在我的一个servlet中,我RequestDispatcher.forward()在WEB-INF文件夹下的某个地方调用静态资源:

request
    .getRequestDispatcher( "/WEB-INF/some/path/image.gif" )
        .forward( request, response );
Run Code Online (Sandbox Code Playgroud)

导航到这个servlet在Tomcat,Jetty等下工作正常,但在WebSphere 7中不起作用.我得到的错误(在浏览器和服务器日志中)都是

Error 403: SRVE0190E: File not found: /WEB-INF/some/path/image.gif
Run Code Online (Sandbox Code Playgroud)

最初我假设WebSphere可能需要一些特定的配置来允许内部转发到WEB-INF下的资源,但我没有谷歌任何有用的东西.

任何想法为何会发生这种情况?

提前致谢!

java websphere servlets web-inf requestdispatcher

3
推荐指数
1
解决办法
1593
查看次数

servlet 响应何时提交或刷新?

根据javadoc:

在-request.getRequestDispatcher("/Test").forward(request,response);

forward 应该在响应提交给客户端之前调用(在响应正文输出被刷新之前)。响应缓冲区中未提交的输出在转发之前自动清除。

当提交或刷新此响应时,我感到困惑?

这是写作printlnprintwriter

java jsp servlets forward requestdispatcher

3
推荐指数
1
解决办法
6242
查看次数

如何为 request.getRequestDispatcher() 指定 .JSP 文件的路径?

我对 request.getContextPath() 的含义感到困惑。我的文件布局如下:

MyServer/WebContent:
    /Resources/MyImage.jpg
    /Resources/Scripts/MyScript.js
    /WEB-INF/JSP/MyPage.jsp
Run Code Online (Sandbox Code Playgroud)

MyPage.jsp我能够通过以下方式找到JavaScript和图像

MyServer/WebContent:
    /Resources/MyImage.jpg
    /Resources/Scripts/MyScript.js
    /WEB-INF/JSP/MyPage.jsp
Run Code Online (Sandbox Code Playgroud)

<script src="${pageContext.request.contextPath}/Resources/Scripts/MyScript.js">
Run Code Online (Sandbox Code Playgroud)

由此我得出的结论是,${pageContext.request.contextPath}动态解析为“WebContent”文件夹,并且我的理解是,无论它的名称是什么,这都将解析为该文件夹。那是有效的。

然而,从所有这些我得出的结论是,回到我的 .java 代码中request.getContextPath()也会动态解析为“WebContent”。但是当我尝试从 .java 代码转发到MyPage.jsp使用 .java 代码形成的字符串时request.getContextPath()+"/WEB-INF/JSP/MyPage.jsp",无法找到 JSP;这会导致 404 错误 - “请求的资源 (/MyServer/WEB-INF/JSP/MyPage.jsp) 不可用”。如果我调用,"/WEB-INF/JSP/MyPage.jsp"我们就会启动 JSP 页面。有人可以解释为什么预挂起request.getContextPath()会导致此失败吗?我是否应该使用其他方法来确保 .JSP 的路径始终得到解析?

java jsp servlets requestdispatcher

2
推荐指数
1
解决办法
8842
查看次数

请求调度程序转发在包含任何servlet之后不转发

有人请帮助我.

 private void forward(String address,
                    HttpServletRequest  request,
                    HttpServletResponse response)
                        throws ServletException, IOException{
    getServletContext()
        .getRequestDispatcher("/" + address)
        .forward(request, response);
}
private void include(String address,
                    HttpServletRequest  request,
                    HttpServletResponse response)
                        throws ServletException, IOException{
    getServletContext()
        .getRequestDispatcher("/" + address)
        .include(request, response);
}
Run Code Online (Sandbox Code Playgroud)

这两个函数已经编写在我的项目中的每个servlet中,问题是当我在servlet中首先使用这两个函数时包含("servlet/abc",request.response); 之后它使用了forward("servlet/def",request.response); 所以使用Netbeans 7我一步一步地看着前进不是转发servlet的控制但是当我在转发前不使用include时它转发控件.

所以我想知道为什么会发生这种情况,原因是什么以及如何在包含任何servlet后继续前进.

请有人帮助我...这是一个有趣的问题.

include("servlet/abc",request, response);


forward("servlet/def",request, response);   //HERE IS PROBLEM NOT FORWRDING AFTER INCLUDE
Run Code Online (Sandbox Code Playgroud)

java servlets java-ee requestdispatcher

1
推荐指数
1
解决办法
8193
查看次数

即使在Servlet中分配请求后,URL也不会更改

我正在将我的请求从Login servlet转发到位于faculty文件夹(位于子文件夹)中的FacultyHomePage.jsp。...该页面已显示,但URL仍为/ LoginServlet。为什么网址没有更改?

    HttpSession sc= request.getSession();
          if(usertype==0)
          {
              sc.setAttribute("type", usertype);
              sc.setAttribute("id",id );
         rd=request.getRequestDispatcher("/faculty/FacultyHomePage.jsp");
         rd.forward(request, response);
          }
Run Code Online (Sandbox Code Playgroud)

servlets requestdispatcher

1
推荐指数
1
解决办法
3071
查看次数

异常启动过滤器struts2 - 尝试添加JAR,但结果相同

这是我得到的错误:

SEVERE: Exception starting filter struts2
java.lang.NoClassDefFoundError: com/opensymphony/xwork2/config/FileManagerProvider
    at org.apache.struts2.dispatcher.Dispatcher.init_FileManager(Dispatcher.java:336)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:465)
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:193)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:424)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassNotFoundException: com.opensymphony.xwork2.config.FileManagerProvider
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) …
Run Code Online (Sandbox Code Playgroud)

java web.xml struts2 requestdispatcher

1
推荐指数
1
解决办法
1万
查看次数

在DispatcherServlet中找不到具有URI [/WEB-INF/views/welcome.jsp]的HTTP请求的映射,其名称为"dispatcherServlet"

我配置了应用程序并将"DispatcherServlet"编码为viewResolver,如下所示:

@Configuration
@EnableWebMvc
@ComponentScan ({"controllers"})
@EnableAutoConfiguration
@SpringBootApplication
public class Application {

@Bean
public InternalResourceViewResolver viewResolver() {
    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
    viewResolver.setViewClass(JstlView.class);
    viewResolver.setPrefix("/WEB-INF/views/");
    viewResolver.setSuffix(".jsp");
    return viewResolver;
}
public static void main(String[] args){
        SpringApplication.run(Application.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)

处理请求的Controller类看起来像这样:

@Controller
public class HelloControllerImpl {

@RequestMapping(value= "/welcome", method= RequestMethod.GET)
public String getWelcomePage(ModelMap model) {
    model.addAttribute("message", "Spring 3 MVC - Hello World");
    model.addAttribute("name", "vzateychuk");
    return "welcome";
}
}   
Run Code Online (Sandbox Code Playgroud)

视图文件:\ WEB-INF\views\welcome.jsp

<html>
<body>
    <h1>Hello, : ${name}</h1>
    <h2>Message : ${message}</h2>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

应用程序结构: 欢迎应用程序结构

我认为配置文件中缺少某些东西,但我看不到.你可以访问错误和意味着什么:"找不到带URI的HTTP请求的映射[/WEB-INF/views/welcome.jsp]"?我应该提供像dispatcher-servlet.xml这样的xml configuratin吗?先感谢您. …

java spring spring-mvc requestdispatcher

1
推荐指数
1
解决办法
5716
查看次数

使用 RequestDispatcher 调用 servlet 的 doGet() 方法

如何doGet()从调用方法RequestDispatcher

RequestDispatcher rd = sc.getRequestDispatcher("/CartServlet");
rd.forward(request, response);

此代码调用doPost()作为默认操作。

java servlets requestdispatcher

0
推荐指数
1
解决办法
6449
查看次数