`
ztk5912
  • 浏览: 3754 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

关于struts中action servlet的映射问题?

阅读更多
初学struts  有一个问题没弄明白,就是关于如何把请求转交到action servlet处理,以下具体说一下:
在web.xml中定义的映射规则是
<servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>
(好像这种形式比较安全)

而在实际的页面中的一个请求是这样的:
         <html:form action="/adminCpasswd">
          <html:hidden property="action"/>
          <tr>
            <td height="18" bgcolor="#FFFFFF"> <table width="100%" border="0" cellpadding="5" cellspacing="0">
           ......(中间略,太长了)
          <tr>
            <td height="18" bgcolor="#FFFFFF">
              <html:submit styleClass="BUTTN-FIX1"><bean:message key="bbscs.botton.submit"/></html:submit>
              <html:reset styleClass="BUTTN-FIX1"><bean:message key="bbscs.botton.reset"/></html:reset>
            </td>
          </tr>
        </html:form>

在struts-config.xml中的action-mappings如下:
<action-mappings>
...(前后略)
   <action input="admin.cpasswd" name="adminCpaswdForm" path="/adminCpasswd" scope="request" type="com.laoer.bbscs.web.action.AdminCpasswd" validate="true">
      <forward name="admincpasswd" path="admin.cpasswd" />
    </action>
...
</action-mappings>

问题就是既然在web.xml中的定义的映射规则是以.do结尾的请求才会交给action servlet处理,而我看到的往往都是上面这种形式的的action(如上面的action="/adminCpasswd"),并没有以.do结尾,却也能交给它处理,这是怎么事,要是这样也能处理,那不是几乎所有的相对路径形式的请求都会交到struts的action servlet去处理,那上web.xml中的映射定义不是没起到作用,能不能帮忙解释一下,到底什么样的请求会转交到struts去处理,谢谢!
分享到:
评论
1 楼 魔力猫咪 2008-05-12  
HTML:FORM标签是Struts自己的标签,所以不需要用.do结尾。如果是普通form标签,则必须加。

相关推荐

    struts2和servlet的共存问题

    ### Struts2与Servlet共存问题详解 #### 一、问题背景 在Java Web开发中,Struts2框架因其简洁的MVC模式和强大的插件系统而被广泛使用。但在某些场景下,开发者可能需要同时使用Struts2和其他Servlet技术(如...

    关于struts和servlet同时用

    每个方法对应一个特定的用户请求,当用户发送请求时,Struts框架会根据配置文件(struts-config.xml或struts.xml)中的映射关系调用相应的Action方法。 在源码层面,Struts框架的工作原理包括以下步骤: 1. 用户...

    Struts 源码学习之ActionServlet

    `ActionServlet`是Struts框架中的关键组件,负责处理来自客户端的所有请求,并将其分发到相应的Action处理类。它是基于Servlet容器(如Tomcat)的,因此必须部署在一个支持Servlet的环境中。 #### 三、Action...

    Struts2访问ServletAPI

    当一个请求到达服务器时,Struts2的过滤器(通常名为`FilterDispatcher`或`StrutsPrepareAndExecuteFilter`)会捕获这个请求,然后根据配置的Action映射决定执行哪个Action。在Action执行过程中,如果需要直接访问...

    java上传与下载——struts2和servlet案例

    在Struts2中,我们通常会在Action类中处理这个逻辑,而在Servlet中,这将在doGet或doPost方法内完成。 现在,我们来看案例中的两个DEMO——JqUploadTest和CosUpload。JqUploadTest可能是指使用jQuery的Upload插件...

    struts2 Action 包 命名空间 servlet API

    Struts2通过FilterDispatcher这个Servlet过滤器来拦截所有到达服务器的请求,判断是否需要由Struts2框架处理,如果是,则根据配置的Action映射调用相应的execute()方法。 Struts2的包结构清晰,每个包都有其特定的...

    Struts2之Servlet API及单元测试初识案例struts005

    Struts2中的`ActionServlet`就是对Servlet API的一种扩展,它作为整个框架的调度中心,负责接收请求、调用Action并返回相应的结果。 在Struts2中,Servlet API主要体现在以下几点: 1. **过滤器(Filter)**:...

    ActionServlet深入探讨

    在Java Web开发中,特别是使用Struts框架进行Web应用程序构建的过程中,ActionServlet扮演着至关重要的角色。它作为Struts框架的核心组件之一,负责处理用户请求,并将其映射到具体的业务逻辑组件(Action)上执行。...

    tomcat、struts2、servlet Filter(过滤器) 工作原理

    在Struts2中,用户请求首先会被Struts2的ActionServlet拦截,然后通过配置的Action映射找到对应的Action类来处理请求。Action执行完成后,返回一个Result,该Result定义了如何展示结果,可能是跳转到一个新的JSP页面...

    servlet模拟struts1工作原理

    在`myStruts`这个压缩包中,可能包含模拟Struts1流程所需的代码和配置文件,如ActionServlet的实现、Action类、ActionForm类、struts-config.xml以及展示结果的JSP页面。通过对这些文件的分析和实践,你可以更深入地...

    Struts1框架执行原理(附Action、ActionServlet、ActionForm工作机制)

    当请求到达时,`ActionServlet`会根据配置文件(struts-config.xml)中的映射信息决定如何处理请求。 3. `ActionServlet`会根据请求的URL解析出对应的`ActionMapping`,这个映射告诉框架哪个`Action`类应该被调用来...

    Struts-Action核心代码

    在Struts中,`ActionServlet`是关键组件之一,它是Struts框架与Servlet容器之间的桥梁。 **ActionServlet** 是Struts框架的核心控制器,它是一个定制的Servlet,负责处理所有的HTTP请求。当用户发起一个请求时,...

    Servlet简单模拟Struts2

    在本主题"Servlet简单模拟Struts2"中,我们将探讨如何利用Servlet来实现类似Struts2框架的一些关键功能,包括请求拦截、XML配置解析、动态代理以及日志拦截。 首先,让我们了解一下Struts2框架的核心特性。Struts2...

    struts-servlet关于管理员注册和登录的整合

    在Struts配置文件(struts.xml)中,需要定义Action及其对应的处理方法,以及跳转的视图页面。例如,注册Action可能会有一个"execute"方法,而登录Action可能有"login"和"logout"方法。同时,需要配置URL映射,使...

    去掉.action去掉.do字样 隐藏struts2 URL地址action, strus1的扩展名do也是同理.zip

    在Struts2中,默认情况下,所有的请求都会映射到.action结尾的URL上。为了去掉这个.action,我们需要配置Struts2的配置文件,通常是struts.xml。在该文件中,我们可以定义一个全局结果类型(global result type)来...

    ActionServlet demo

    6. **module5**:可能包含了Struts的配置文件(struts-config.xml),这个文件定义了ActionMapping,指定ActionServlet如何处理请求,以及Action和结果页面之间的映射。 7. **module1**:可能是项目的入口点,如web...

    Struts与Servlete的Demo

    ActionServlet根据请求的URL和配置文件(struts-config.xml)来决定调用哪个Action,Action是Struts中的控制器组件,它处理业务逻辑并决定如何与视图交互。 **Struts与Servlet的关系** 1. **请求处理**:在传统的...

    struts in action 英文版

    ActionServlet作为这个控制器,是Struts框架的核心。它根据配置文件(struts-config.xml)中的映射信息来处理请求,将请求分发到相应的Action,Action执行完毕后返回一个ActionForward对象,指示应该转向哪个JSP页面...

    模仿struts的servlet

    Struts通过提供Action类的概念解决了这个问题,每个Action类可以包含多个业务逻辑方法,用户请求通过一个ActionForm对象将数据传递给相应的Action方法。 模仿Struts的Servlet也遵循了类似的模式,允许开发者在一个...

    Servlet和Struts2的交互(转载)

    1. 直接集成:在Servlet中创建Struts2的ActionContext,并手动设置请求和响应对象,然后调用Action的execute()方法执行业务逻辑。 2. 使用Filter转发:配置Struts2的Filter在Servlet处理完请求后,将控制权交给...

Global site tag (gtag.js) - Google Analytics