`
hp8952
  • 浏览: 3227 次
  • 性别: Icon_minigender_1
  • 来自: 邵阳
最近访客 更多访客>>
社区版块
存档分类
最新评论

spring集成servlet的疑惑

阅读更多
<servlet>
    <description></description>
    <display-name>UserActionImpl2</display-name>
    <servlet-name>UserActionImpl2</servlet-name>
    <servlet-class>com.action.MyAction</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>UserActionImpl2</servlet-name>
    <url-pattern>/user</url-pattern>
  </servlet-mapping>

 

package com.action;

import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

/**
 * Servlet implementation class UserAction
 */
public class MyAction extends HttpServlet {
	private static final long serialVersionUID = 1L;

	
	protected Servlet servlet;
	/**
     * @see HttpServlet#HttpServlet()
     */
    public MyAction() {
        super();
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		servlet.service(request, response);
	}

	
	@Override
	public void init() throws ServletException {
		System.out.println("init");
		String servletName = getServletConfig().getServletName(); 
        WebApplicationContext webapplicationcontext = WebApplicationContextUtils
                .getRequiredWebApplicationContext(getServletContext());  
        this.servlet = (Servlet) webapplicationcontext.getBean(servletName); 
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		servlet.service(request, response);
	}

}
package com.action.impl;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

import com.action.MyAction;
import com.pojo.User;
import com.services.UserServices;

public class UserActionImpl2 extends MyAction {

	private static final long serialVersionUID = 1L;
	private static final int size = 5;
	private UserServices userServices;
	public void setUserServices(UserServices userServices) {
		this.userServices = userServices;
	}
	@Override
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		
	}
	@Override
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		this.doGet(request, response);
	}
	
	protected Servlet servlet;
	@Override
	public void init() throws ServletException {
		System.out.println("init children");
		String servletName = getServletConfig().getServletName(); 
        WebApplicationContext webapplicationcontext = WebApplicationContextUtils
                .getRequiredWebApplicationContext(getServletContext()); 
        this.servlet = (Servlet) webapplicationcontext.getBean(servletName); 
	}
}

为什么web.xml里面一定得配置com.action.Myaction才能获得spring提供的servlet对象,配置子类UserActonImpl2,也是通过init从spring获取servlet对象,为什么userServices为NULL?

我对配置子类UserActonImpl2的理解:因为UserActonImpl2已经从web服务器获取到,然后通过init方法来对servlet注入对象!这样就不会为userServices注入对象了!

对配置父类com.action.Myaction不能很理解,求javaeye的哥哥姐姐们指点下,解释下这2者是怎么获取servlet对象的,还有就是怎么样可以在web.xml里面直接配置子类UserActonImpl2能够获取userServices?

语言表达能力有限,描述了N久,才这样,我是hold不住了,哥哥姐姐们一定的hold住

分享到:
评论

相关推荐

    spring 与 servlet整合

    5. **数据访问集成**:Spring支持多种数据访问技术,包括JDBC、Hibernate、MyBatis等,提供统一的API进行数据操作。 **Servlet的角色** 1. **HTTP服务器端接口**:Servlet是Java EE平台中用于接收和处理HTTP请求的...

    Spring整合Servlet练习

    将Spring与Servlet整合,可以充分利用两者的优点,构建高效、可维护的Web应用程序。 **Spring整合Servlet的基本步骤:** 1. **引入依赖**:在项目中,你需要包含Spring的相关库,以及Servlet API的jar包。如果你...

    spring+servlet所用jar

    在Java Web开发中,Spring框架和Servlet技术是两个至关重要的组件。Spring是一个全面的后端应用框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性,极大地简化了Java应用程序的开发。而...

    spring+servlet 入门hello_world

    在IT领域,Spring框架和Servlet技术是Web开发中的重要组成部分,尤其对于初学者而言,"spring+servlet 入门hello_world"是一个极好的起点。这个实例将帮助你理解这两个技术的基础概念以及它们如何协同工作来构建一个...

    Spring 管理filter 和servlet

    ### Spring管理Filter与Servlet详解 在现代Web应用开发中,Spring框架因其强大的依赖...此外,Spring提供的Filter和Servlet代理类,进一步简化了集成过程,使开发者可以专注于业务逻辑的实现,而非底层的技术细节。

    Spring集成AXIS2的Web_service配置方法

    Spring 集成 AXIS2 的 Web service 配置方法 Spring 是一个流行的 Java 应用程序框架,它提供了一个灵活的方式来构建企业级应用程序。AXIS2 是一个流行的 Web Service 引擎,它提供了一个强大的方式来构建 Web ...

    servlet与spring整合例子

    Spring提供了对各种持久化技术(如JDBC、Hibernate、MyBatis等)的集成,使得在Servlet中操作数据库变得简单。我们可以在Spring配置文件中定义数据源和DAO Bean,然后在Servlet中通过依赖注入获取这些DAO对象,执行...

    Spring Security 3.1 +Spring +Servlet+JdbcTemplate

    如果这是项目的源代码,那么深入研究这个部分将有助于理解Spring Security是如何集成到项目中的,以及它是如何处理认证和授权的。 总的来说,这个项目展示了如何使用Spring Security 3.1与Spring、Servlet和...

    jsf+spring+servlet的demo

    总的来说,这个"jsf+spring+servlet的demo"是一个综合性的Web应用实例,它演示了如何利用JSF构建用户界面,Spring处理业务逻辑,以及Servlet协调请求处理。开发者可以从中学习到如何集成这三个技术,理解它们在实际...

    spring管理servlet的利器--SimpleServletHandlerAdapter

    在Spring框架中,Servlet的管理是一项重要的任务,它涉及到Web应用的请求处理和业务逻辑的集成。`SimpleServletHandlerAdapter`是Spring MVC中一个关键组件,它为非Spring MVC注解驱动的Servlet提供了一种简单的方式...

    用Spring注入Servlet文件 实现注入set

    使用spring的依赖注入,来实现servlet中注入dao层

    JSF 和 Spring 集成

    将JSF与Spring集成可以让开发者充分利用两者的优点,实现更高效、灵活的应用开发。 集成JSF和Spring的核心在于使两个框架能够共享Bean并协调工作。由于它们都遵循Servlet规范,可以通过Servlet上下文...

    JSF和Spring集成.doc

    集成的核心在于如何让 JSF 和 Spring 在同一 Servlet 容器环境中相互访问彼此的上下文。这是因为 JSF 和 Spring 都遵循 Servlet 规范,因此可以在相同的 Servlet 容器中运行。具体来说,Spring 的 `...

    spring-servlet

    &lt;bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" &gt; &lt;property name="prefix" value="/WEB-INF/jsp/" &gt;&lt;/property&gt; &lt;property name="suffix" value=".jsp" &gt;&lt;/property&gt;...

    Spring的注入在Servlet中使用

    Spring的注入在Servlet中使用:在Servlet中使用Spring注入的信息,需要WebApplicationContext这个专门为Web准备的应用上下文

    structs+spring+servlet+Thread

    介绍了structs+spring+servlet+Thread的实现,其中介绍了listener、filter、servlet、Interceptor、aop技术、web多线程多种实现方式,下载即可运行

    Spring+Servlet读取数据库返回JSON数据(源码).zip

    在Java Web开发中,Spring框架和Servlet技术是两个核心组件,它们经常被用来构建高效、可扩展的Web应用程序。Spring框架提供了丰富的功能,包括依赖注入、面向切面编程、MVC(模型-视图-控制器)架构等,而Servlet则...

    Struts,Hibernate,Spring集成开发宝典.pdf

    通过实际案例,读者将学习到如何配置Struts的ActionServlet、Struts配置文件,如何在Hibernate中配置SessionFactory,以及如何利用Spring管理Struts的Action实例和Hibernate的Session。书中还会涉及Spring的事务管理...

    drools6.4+spring集成

    drools6.4+spring集成是一项将业务规则引擎Drools与Spring框架相结合的技术实践,旨在利用Drools的强大规则处理能力,结合Spring的灵活应用管理,构建高效、可维护的业务系统。在这个项目实例中,我们将深入探讨如何...

    Spring集成Hibernate所需jar包

    下面将详细介绍Spring集成Hibernate所需的jar包以及它们各自的作用。 1. **Spring框架**: - Spring核心模块:包括`spring-context`, `spring-beans`, `spring-core`, `spring-expression`等,提供依赖注入(DI)...

Global site tag (gtag.js) - Google Analytics