`

struts2中配置servlet

 
阅读更多
转载 在Struts2中使用servlet 配置问题

在做WEB项目时,要么是Struts+Spring+Hibernate, 要是就直接使用servlet。这次碰到一个项目,经理想要把之前一个用servlet做的部分模块移植到当前项目下(Struts+Spring),这 时发现Struts2.X(Struts1.X没试过不知道行不行)不能和servlet同时使用,主要是由于页面的请求都被struts给拦截了,根本 访问不了servlet,发现这个原因后本人是先直接在struts的配置文件中加上

<constant name="struts.action.extension" value="do,action"/> (请求的后缀要有.do或.action才到struts配置文件里找对应的action),运行站点,可以工作了。

        没想到刚过两天,在测试上传功能时又出错了(该上传功能也是 从原先的项目移植过来的),找不到上传的文件,这到是奇了怪了,仔细看了下log,发现在执行请求的servlet前还是经过了struts的过滤链,这 时我想可能是struts的文件过滤那块把文件给绑定到某个地方(好像使用struts2上传文件就是这么回事:通过文件拦截器 ,将文件绑定到action中的对应属性),而当servlet去获取request中的文件二进制流时,将找不到文件,导致上传的文件为空,造成后续的 操作失败。至此只能在web.xml关于struts2的拦截链的配置修改了,原本配置如下:

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>
            org.apache.struts2.dispatcher.FilterDispatcher
        </filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

将其改为:

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>
            org.apache.struts2.dispatcher.FilterDispatcher
        </filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>*.action;*.do;...</url-pattern>(过滤不同的后缀,要分开写 ,在此为方便写在一起)
  </filter-mapping>

至此struts和servlet可以一起运行啦
分享到:
评论

相关推荐

    Struts2中Servlet的配置

    在Struts2中,Servlet的配置和使用方式与标准Servlet容器中的配置有所不同,主要是为了更好地整合框架的功能。以下是关于Struts2中Servlet配置的相关知识点: 1. **实现ServletResponseAware/ServletRequestAware...

    struts2和jspServlet上传

    Struts2和JSP Servlet上传是Web开发中的常见场景,主要涉及如何在用户提交表单时处理文件上传请求。这两个技术都是Java Web开发的重要组成部分,Struts2是一个基于MVC设计模式的开源框架,而Servlet是Java EE规范的...

    struts2和servlet的共存问题

    ##### 方法4:在Struts配置文件中调整 - **具体操作**:在`struts.xml`配置文件中调整拦截器的匹配规则,避免不必要的拦截。 - **实现步骤**: - 在`struts.xml`中找到或创建一个拦截器栈,并调整其匹配规则,确保...

    Struts2 直接访问Servlet API(二十五)

    Struts2是一个非常流行的...综上所述,了解如何在Struts2中直接访问Servlet API是非常有用的技能,它可以帮助开发者更好地控制Web应用程序的行为,并在必要时提升性能。但同时,也要注意平衡灵活性和代码的可维护性。

    Struts2访问ServletAPI

    本文将深入探讨如何在Struts2中访问Servlet API。 首先,理解Struts2的执行流程至关重要。当一个请求到达服务器时,Struts2的过滤器(通常名为`FilterDispatcher`或`StrutsPrepareAndExecuteFilter`)会捕获这个...

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

    在Struts2中实现文件上传,我们需要配置Action类、表单以及struts.xml配置文件。Action类会处理用户提交的请求,表单用于收集用户选择的文件,而struts.xml则定义了请求的映射和处理逻辑。Struts2提供了File和Files...

    struts2 result配置详解

    Struts2 框架中 Result 配置是一种非常重要的配置,它直接影响着应用程序的执行结果。Result 配置通常用于定义 Action 的执行结果,例如将结果.redirect 到一个新的 URL,或者将结果.render 到一个 JSP 页面。Struts...

    struts2核心配置文件

    在Struts2框架中,有两个核心配置文件特别重要:`struts.xml` 和 `struts.properties`。这两个文件共同决定了Struts2框架的行为特征和应用的运行逻辑。 #### 二、struts.xml 文件详解 `struts.xml` 文件是Struts2的...

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

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

    servlet和struts2笔记

    ### servlet和struts2笔记 #### 一、Servlet 基础 **Servlet** 是 Java Web 开发中的一种核心技术,它被设计用于处理客户端发送到服务器的 HTTP 请求,并且能够生成响应。Servlet 可以看作是服务器端的小程序,...

    MAX的struts2教程、struts2 API、servlet API

    3. **理解注解**:查看Struts2中的注解,了解其在代码中的作用和配置方式。 4. **深入源码**:API文档可以帮助开发者在必要时深入源码,理解框架内部的工作机制。 最后,"Servlet+API[China].chm"是Servlet API的...

    struts2参数配置

    本文将围绕Struts2中的关键配置进行深入探讨,旨在帮助开发者更好地理解和掌握Struts2的核心功能。 #### 二、Struts2核心配置 ##### 1. **ActionServlet配置** - **ActionServlet** 是Struts2的核心组件之一,...

    struts2配置过滤器

    本文将通过一个具体的示例来详细介绍如何在Struts2项目中配置过滤器。 #### 二、过滤器配置实例分析 ##### 2.1 web.xml配置解析 在给定的web.xml配置文件中,可以看到对`SessionInvalidate`过滤器进行了定义和...

    Struts2之Servlet文件上传详解案例struts010

    在Struts2中,我们可以使用`CommonsFileUpload`库来处理上传的文件。首先,需要在`struts.xml`配置文件中启用`params interceptor`和`fileUpload interceptor`。这两个拦截器分别负责解析请求参数和处理文件上传。 ...

    Servlet简单模拟Struts2

    3. **动态生成Action的代理**:在Struts2中,Action是业务逻辑的载体,通过动态代理,Struts2可以在调用实际Action方法之前/之后执行一些额外的操作。在Servlet中,我们可以使用Java的反射API来创建Action的代理类。...

    struts2 配置文件

    - `&lt;servlet&gt;`: 配置Servlet的相关信息。 - `&lt;servlet-mapping&gt;`: 映射Servlet的URL模式。 - `&lt;taglib&gt;`: 配置标签库的位置和URI。 ##### 2. 为Struts2应用配置web.xml - **ActionServlet 配置**: - 使用 `...

    关于struts和servlet同时用

    2. 服务器接收到请求后,Servlet容器(如Tomcat)根据web.xml中的配置找到对应的Servlet(通常是Struts的Front Controller,如.struts2Dispatcher)。 3. Struts DispatcherServlet解析请求,根据配置文件确定要调用...

    Servlet和Struts2的交互(转载)

    Servlet和Struts2是两种在Java Web开发中广泛使用的框架,它们在构建动态Web应用程序时起着关键作用。Servlet是Java EE规范的一部分,提供了一种服务器端编程模型,用于处理HTTP请求并生成响应。而Struts2是一个基于...

    struts2所有包和配置文件

    在Struts2中,`web.xml`通常会包含Struts2的前端控制器Servlet,即`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`的配置。这个过滤器负责拦截HTTP请求,并将它们路由到Struts2的Action类...

    eclipse for javaee配置web开发环境(struts2+servlet+sping)字体.doc

    通过以上步骤,你将能够在Eclipse for JavaEE环境中配置一个基础的Web开发环境,支持Struts2、Servlet和Spring的开发。随着经验的增长,你可以逐步添加更复杂的功能,如数据库连接、国际化、安全控制等,从而构建出...

Global site tag (gtag.js) - Google Analytics