spring 怎麼連接servlet,spring整合servlet,spring管理servlet

spring 怎麼連接servlet,spring整合servlet,spring管理servlet

 

1.在web.xml中的配置:

<!-- 配置一個servlet -->

<servlet>

<servlet-name>AbcServlet</servlet-name>

<servlet-class>

com.xx.servlet.common.DelegatingServletProxy

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>AbcServlet</servlet-name>

<url-pattern>/AbcServlet</url-pattern>

</servlet-mapping>

 

<!-- 配置spring -->

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

classpath:context/applicationContext*.xml

</param-value>

</context-param>

 

 

2.在applicationContext.xml中配置:

<bean id="AbcServlet" class="com.xx.servlet.AbcServlet" />

 

 

3.DelegatingServletProxy代理:

-------------------------

package com.xx.servlet.common;

 

import java.io.IOException;

 

import javax.servlet.GenericServlet;

import javax.servlet.Servlet;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

 

import org.springframework.web.context.WebApplicationContext;

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

 

public class DelegatingServletProxy extends GenericServlet {

    private String targetBean;

    private Servlet proxy;

 

    @Override

    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {

        proxy.service(req, res);

    }

 

    @Override

    public void init() throws ServletException {

        WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());

        this.targetBean = getServletName();

        this.proxy = (Servlet) wac.getBean(targetBean);

        proxy.init(getServletConfig());

    }

}

發佈了18 篇原創文章 · 獲贊 0 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章