我有一个简单的问题,即如何在 Glassfish 服务器上运行使用 Spring 框架的应用程序?也就是说,如何让它在 Spring 容器的控制下运行?我是否需要扩展服务器或其他东西,我找不到太多关于此的信息,我读到的关于 OSGI 模块的东西,只是让我感到困惑。
问问题
11130 次
2 回答
7
基本上,您使用 web.xml 通过侦听器启动 Spring,然后映射一个或多个 spring Dispatcher servlet。您在 中定义控制器 bean dispatcher-servlet.xml
,注入您在 applicationContext 中定义的 bean,然后它从那里向下级联。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
etc etc
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/myApp/*</url-pattern>
</servlet-mapping>
于 2012-04-10T18:48:14.310 回答
1
在部署描述符(web.xml)中,定义 Servlet 监听器和上下文参数。
上下文参数 - spring bean 文件的文件位置。(允许使用野生字符并拾取该野生字符选择下的一堆文件。)
侦听器 - 将侦听请求的弹簧类。不同的类可用于不同的目的。
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- All file ends with Context.xml under web-inf folder -->
<param-value>WEB-INF/*Context.xml</param-value>
</context-param>
<listener>
<display-name>Spring context loader</display-name>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
<!-- use following if you want to use request scope -->
<!-- org.springframework.web.context.request.RequestContextListener -->
</listener>
<servlet>
<servlet-name>servlet name</servlet-name>
<servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>name</servlet-name>
<url-pattern>/URLName</url-pattern>
</servlet-mapping>
于 2012-04-12T09:38:55.197 回答