`
oldbig
  • 浏览: 76064 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何进行Servlet请求转发,或者有办法直接访问servlet?

阅读更多
是这样的
我想做一个类似struts中的控制
在web.xml中将所有url为 *.act的请求都映射到一个servlet里,比如叫DispSvlt,
然后在DispSvlt中
根据.act前面不同的名称,再分配到不同的Servlet中,比如有请求url是
/mywebapp/abc.def.SvltExample.act
在DispSvlt中
就可以转发到(使用request.getRequestDispatcher().forward方法)
/mywebapp/servlet/abc.def.SvltExample

这样就可以执行,但resin换了一个版本后,这样/mywebapp/servlet/abc.def.SvltExample直接访问Servlet的方法不行了,有人知道该怎样才能直接(不用url-pattern)访问Servlet吗?

或者,如何实现在一个servlet中将请求转发到另一个servlet中(不用在web.xml中设url map)?
分享到:
评论
3 楼 oldbig 2007-01-19  
结果是,不能
((HttpServlet)(Class.forName("xxxx.xxxx").newInstance())).doPost(request,response);

方法不可见

sign!
2 楼 oldbig 2007-01-17  
采用dispatcher的方式是因为我想完整保留request的提交信息
因为我们的系统以前有很多代码都是这么写的,所以现在要换成resin3,就遇到了问题,大改一遍太麻烦了。
我试着从DispSvlt中直接调用相应的目标Servlet中的post或get方法,不知可行不?
1 楼 LucasLee 2007-01-10  
你搞得这个跟Struts的类似。Struts里就实现了你要的这些,他的方式是,有一个唯一的ActionServlet来获得所有的请求,然后,分发到在Struts-config.xml里配置的Action里。

注意,他的处理不是用RequestDispatcher的方式,而是根据配置,实例化一个Action对象,然后调用它的execute(...)方法。

你可以参考一下,或者,直接用Struts好了。

相关推荐

    servlet中实现请求转发,用户登录

    因此,请求转发适用于需要共享请求属性或者保持请求上下文不变的情况。 总结起来,Servlet中的请求转发是通过`RequestDispatcher`实现的一种服务器内部资源之间的传递,常用于构建Web应用的导航逻辑。在用户登录...

    servlet请求转发、重定向、包含

    Servlet请求转发、重定向和包含是Servlet中处理客户端请求的重要技术,它们都涉及到如何有效地管理用户请求和页面跳转,但各自有不同的特性和应用场景。 1. **请求转发(Request Forward)** - 请求转发是在服务器...

    java servlet请求转发重定向

    ### Java Servlet 请求转发与重定向详解 #### 一、引言 在Java Web开发中,请求转发和重定向是两种非常重要的技术手段,用于控制页面之间的跳转逻辑。这两种技术虽然都能实现页面间的跳转,但其工作原理、应用场景...

    一个servlet,请求转发,过滤

    请求转发是在服务器端内部将一个请求从一个Servlet传递到另一个Servlet或者JSP页面的过程。在Servlet中,我们可以使用 `RequestDispatcher` 的 `forward()` 方法实现这一操作。例如: ```java RequestDispatcher ...

    javaServlet请求转发和重定向.pdf

    Java Servlet 请求转发和重定向 Java Servlet 请求转发和重定向是两种不同的页面跳转机制,它们在 Web 应用程序中扮演着重要的角色。理解这两种机制的区别和使用场景是非常重要的。 请求转发是指将请求再转发到另...

    Servlet转发与重定向

    3. 请求转发与重定向的机制:RequestDispatcher.forward 方法在服务器端内部将请求转发给另外一个资源,而 HttpServletResponse.sendRedirect 方法对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出...

    jsp页面中获取servlet请求中的参数的办法详解

    这里的`servlet-class`指定了Servlet的全限定类名,`url-pattern`定义了访问Servlet的URL模式。 接下来,我们创建Servlet类,如`BBSServlet`。在这个例子中,我们重写了`doGet`方法,因为HTTP GET请求通常用于获取...

    jsp和servlet请求与响应

    - 直接在客户端对中文进行URLEncoder编码,或者在服务器端对接收到的参数进行解码。 #### 五、转发与重定向 ##### 5.1 转发 - **概念**:转发是在服务器端完成的,由服务器将当前请求转发到另一个资源处理,...

    直接请求转发(Forward)和间接请求转发(Redirect)两种区别.docx

    主要分为直接请求转发(Forward)和间接请求转发(Redirect)。这两种转发方式在处理请求时有着显著的区别。 直接请求转发(Forward): 直接请求转发是服务器内部的资源调度,用户在浏览器中只会看到最初的请求...

    Java中Request请求转发详解

    Java中Request请求转发是指在Servlet中使用RequestDispatcher将请求转发到另一个Servlet或JSP页面,以实现请求的重定向或包含。在本文中,我们将通过示例代码详细介绍Java中Request请求转发的实现过程。 ...

    请求转发与重定向

    - **请求转发**适用于需要在服务器内部进行页面跳转或者数据共享的情况。例如,用户登录成功后,需要显示用户的个人信息页面,这时就可以使用请求转发将用户的登录信息传给下一个页面。 - **重定向**则适用于需要...

    jsp页面中获取servlet请求中的参数的办法详解.docx

    ### jsp页面中获取servlet请求中的参数的办法详解 #### 概述 在JavaWeb开发过程中,前后端之间的数据交互非常频繁。其中一种常见的场景是从Servlet传递参数至JSP页面进行展示或处理。本文旨在详细介绍如何在JSP页面...

    Servlet+jsp.docx

    - **请求转发**:服务器内部将请求转发到另一个资源处理。 ##### 2.1 请求方式 - **GET**:安全且幂等,适用于查询操作。 - **POST**:不安全,不幂等,适用于修改数据的操作。 ##### 2.2 重定向与请求转发 - **...

    简单的jsp+servlet+javaBean访问mysql数据库

    在这个项目中,我们可能会看到一个Servlet接收HTTP请求,例如注册或查询用户,然后将这些请求转发给相应的JavaBean。 **JavaBean** 是符合特定规范的Java类,通常用于封装数据和业务逻辑。它们可以被其他组件(如...

    请求转发与重定向详解代码

    请求转发是一种服务器端的技术,它发生在服务器接收到客户端请求后,不直接生成响应,而是将请求传递给另一个内部资源进行处理。这通常用于整合多个后台服务或合并不同功能模块的情况。在Java Servlet中,我们可以...

    Struts2访问ServletAPI

    在Action执行过程中,如果需要直接访问Servlet API,可以通过以下几种方式实现: 1. **使用ServletActionContext**: Struts2提供了一个名为`ServletActionContext`的类,它包装了`HttpServletRequest`和`...

    Servlet基础知识总结

    过滤器(Filter)是在请求到达目标资源(如Servlet、JSP等)之前或响应从目标资源返回之后进行拦截和处理的对象。可以通过实现`javax.servlet.Filter`接口或继承`javax.servlet.Filter`的实现类来创建过滤器。 ```...

    servlet入门经典笔记

    Servlet容器如Tomcat、Jetty等,它们负责接收来自客户端的HTTP请求,将请求转发给Servlet,并将Servlet的响应返回给客户端。 Servlet的生命周期主要分为四个阶段: 1. **加载与实例化**:当Servlet容器接收到第一个...

    servlet.jar包

    此后,每当有新的请求到达,Servlet容器会调用service()方法来处理请求,最后在Web应用关闭或Servlet被卸载时,会调用destroy()方法进行清理工作。 在Servlet API中,几个关键接口和类包括: 1. javax.servlet....

Global site tag (gtag.js) - Google Analytics