读书人

在Spring中配备servlet

发布时间: 2012-09-07 10:38:15 作者: rapoo

在Spring中配置servlet

在servlet的编程中,如果想用到Spring的注入功能,其实很简单:

看个例子程序:

 <servlet>    <description>This is the description of my J2EE component</description>    <display-name>This is the display name of my J2EE component</display-name>    <servlet-name>ServletToBeanProxy</servlet-name>    <servlet-class>en.filter.ServletToBeanProxy</servlet-class>    <init-param>    <param-name>targetBean</param-name>    <param-value>userLoginServlet</param-value>    </init-param></servlet><servlet-mapping>    <servlet-name>UserLogin</servlet-name>    <url-pattern>/UserLogin</url-pattern></servlet-mapping>

?首先,我们来理清一下代码的执行顺序。当我们在客户端输入网址:http://localhost:8080/ProjectName/UserLogin的时候,服务器就会去调用这个代理的servlet。然而这个代理的servlet到底做了什么呢?可以分几步来描述:一:获得init参数,这个参数就是实际要访问的servlet,他会在Spring的配置文件中定义。二:通过WebApplicationContext去Spring容器中得到目标servlet,当然名字就是init参数中配置的名字。三:将获得的servlet强制转换为Servlet,然后执行目标servlet。OK,这样就完成了注入。

????? 那么,如果我们有另外一个业务的servlet怎么办呢?是不是还要在写一个ServletToBeanProxy 似地代理类呢?当然是不用的。我们只需要修改web.xml就行了。需要修改的地方只有init参数和url-parrten两处。代理类的代码是完全一样的,可以重用。这样,在servlet中就能感知到Spring的注入了。? 而要注意的是,目标servlet是不需要在web.xml当中配置的。

?

读书人网 >软件架构设计

热点推荐