javascript
SpringMVC(2)—SpringMVC整合Spring的HelloWorld
一、這是一個SpringMVC框架的案例HelloWorld
功能:HelloWorld
二、SpringMVC運行流程
1.流程
三、在Spring的環境下使用SpringMVC
問題:1.需要進行Spring整合SpringMVC嗎
2.還是否需要加入SpringIOC容器
3.是否還要在web.xml文件中配置啟動Spring IOC容器的的ContextLoaderListener
答案:
1. 需要: 通常情況下, 類似于數據源, 事務, 整合其他框架都是放在 Spring 的配置文件中(而不是放在 SpringMVC 的配置文件中).
實際上放入 Spring 配置文件對應的 IOC 容器中的還有 Service 和 Dao.
2. 不需要: 都放在 SpringMVC 的配置文件中. 也可以分多個 Spring 的配置文件, 然后使用 import 節點導入其他的配置文件
問題:
若 Spring 的 IOC 容器和 SpringMVC 的 IOC 容器掃描的包有重合的部分, 就會導致有的 bean 會被創建 2 次.
答案:
方法1. 使 Spring 的 IOC 容器掃描的包和 SpringMVC 的 IOC 容器掃描的包沒有重合的部分,若分模塊開發這種方法可能會不太合適
方法2. 使用 exclude-filter 和 include-filter 子節點來規定只能掃描的注解
所以使用方法2來解決SpringMVC整合Spring時,出現一個注解被兩次掃描的問題
步驟
1.在SpringMVC配置文件中,配置掃描@Controller這個注解
2.在Spring配置文件中配置不掃描@Controller這個注解
注意:
**SpringMVC 的 IOC 容器中的 bean 可以來引用 Spring IOC 容器中的 bean.
返回來呢 ? 反之則不行. Spring IOC 容器中的 bean 卻不能來引用 SpringMVC IOC 容器中的 bean!**
四、代碼
1.添加jar包
2.頁面
index.jsp
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body><h3>Hello World!</h3> </body> </html>other.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body><h3>Other page!</h3> </body> </html>3.Controller
HelloWorld.java
4.Service
UserService.java
5.配置文件
web.xml
bean.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"><!-- Spring IOC 容器 --><!-- 1.自動掃描的包 --><!-- <context:component-scan base-package="com.Spring.mvc"></context:component-scan> --><context:component-scan base-package="com.Spring.mvc" ><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/><context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/></context:component-scan><!-- 2.配置數據源,整合其他框架,事務等 --> </beans>springmvc.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"><!-- Spring MVC的IOC容器 --><!-- 1.自動解析的包 --><!-- <context:component-scan base-package="com.Spring.mvc"></context:component-scan> --><context:component-scan base-package="com.Spring.mvc" use-default-filters="false"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/><context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/></context:component-scan><!-- 2.視圖解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"></property><property name="suffix" value=".jsp"></property></bean><!-- 3.為了能夠訪問,沒有Mapping映射的頁面,添加了<mvc:default-servlet-handler/>但是使用了這個配置之后@RequestMapping映射作用失效,所以又配置這個<mvc:annotation-driven></mvc:annotation-driven> --> <mvc:default-servlet-handler/><mvc:annotation-driven></mvc:annotation-driven><!-- 4.為了整合Spring IOC容器,需要在web.xml中配置啟動Spring IOC容器的Listener --> </beans>轉載于:https://www.cnblogs.com/tengpengfei/p/10453965.html
總結
以上是生活随笔為你收集整理的SpringMVC(2)—SpringMVC整合Spring的HelloWorld的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: solidity 十六进制字符串转十六进
- 下一篇: C#如何Json转字符串;字符串转Jso