1. 程式人生 > >spring基礎知識,未完待續

spring基礎知識,未完待續

沒有 代碼 ons maven model odi html www. 4.2

https://blog.csdn.net/slow_wakler/article/details/54895508 http://www.runoob.com/design-pattern/chain-of-responsibility-pattern.html https://www.cnblogs.com/alwayswyy/p/4904448.html?utm_source=tuicool&utm_medium=referral https://www.cnblogs.com/zmhsoup/p/5249663.html https://www.cnblogs.com/wangyayun/p/6800902.html DI-依賴註入 AOP-面向切面編程 1,springmvc +maven+helloWorld https://blog.csdn.net/u012660464/article/details/53199439 基本步驟 1)響應請求-DispatcherServlet   DispatcherServlet是SpringMVC中最核心的部分,它是接收所有用戶請求的前端控制器Servlet,Servlet運行於Web的應用服務器中,理論上可以響應任何類型的請求。當用戶在瀏覽器發出請求的時候,最先進入SpringMVC中的DispatcherServlet。它的作用是通過處理器映射,把用戶的請求發送到相應的控制器(Controller)中,再由控制器處理用戶請求的SpringBean。 2)處理器映射-HandlerMapping   當DispatcherServlet截獲到請求的時候,不知道要把請求發往哪一個控制器,這個時候就要用到處理器映射了。通過查詢處理器映射,DispatcherServlet就能由用戶的請求知道該用哪一個控制器。 3)控制器-Controller   控制器(Controller)即MVC中的C,控制器在後面的小黑屋完成數據的處理,然後返回一個ModelAndView對象給DispatcherServlet,Model將會在相應的View上顯示出來。 4)視圖解析器-view resolver   視圖解析器(view resolver)對上一步得到的ModelAndView對象進行解析,將其匹配到相應的視圖(例如一個jsp),利用相應的視圖顯示數據。 5)視圖顯示-view   視圖(view)即MVC中的V,其作用就是把控制器返回的相應的model進行顯示。到了這裏,請求的任務基本就已經完成了。 1,新建一個maven工程,選擇webapp,輸入組ID,一般是域名的反寫,輸入項目名稱 2,.jsp 文件的頂端報錯,解決方法 1)右擊項目名 -> Buid Path -> Configure Build Path, (2)選擇Libraries選項卡,點擊Add Library -> Server Runtime , (3)選擇一個已建好的tomcat,沒有建立tomcat的,請先配置好tomcat。 (4)點擊 finish, 可看到如下截圖 點擊Apply之後,正常情況下,可以看到項目的紅叉已消失。 然後切換到Order and Export 選項: 點擊上圖的OK之後,可以看到,缺失的資源文件src/main/java和src/test/java已經有了。 然後還需要創建 souce folder src/main/resources ,src/test/resources 3,更改配置文件pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.viphelloword.rank</groupId> <artifactId>SpringMvcHelloWorld</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <springVersion>4.2.3.RELEASE</springVersion> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${springVersion}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${springVersion}</version> </dependency> </dependencies> <build> <finalName>SpringMvcHelloWorld</finalName> </build> </project> 4,更改配置文件web.xml,在webapp下 <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>HelloSpringMVC</display-name> <!-- 前端控制器 --> <servlet> <servlet-name>spring-mvc</servlet-name> <!-- 名稱,真實的文件名需要在這個名字後面加上-servlet後綴 --> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- DispatcherServlet路徑,照寫 --> <!-- 這裏可以設置前端控制器的路徑,如果這一步註釋掉,則默認前端控制器的路徑為:/WEB-INF/[servlet-name]-servlet.xml --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:/spring/spring-mvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 攔截所有請求 --> <servlet-mapping> <servlet-name>spring-mvc</servlet-name> <!-- 這裏的名字要和上面的servlet-name統一 --> <url-pattern>/</url-pattern> </servlet-mapping> </web-app> 5,新建前端控制器配置文件servlet文件 因為這裏使用的是默認的路徑,所以只需要在WEB-INF目錄下創建前端控制器文件。 又因為在web.xml中配置的名稱是spring-mvc,所以新建的文件名是spring-mvc-servlet。 也可以在resources下面創建spring 文件夾,然後classpath:/spring/spring-mvc-servlet.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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.2.xsd"> <!-- 掃描路徑 --> <context:component-scan base-package="com.springmvc.controller" > <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> <!-- 配置根視圖 --> <mvc:view-controller path="/" view-name="index"/> <!-- 激活基於註解的配置 @RequestMapping, @ExceptionHandler,數據綁定 ,@NumberFormat , @DateTimeFormat ,@Controller ,@Valid ,@RequestBody ,@ResponseBody等 --> <mvc:annotation-driven /> <!-- 靜態資源配置 --> <mvc:resources location="/assets/" mapping="/assets/**"></mvc:resources> <!-- 視圖層配置 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view/"/> <property name="suffix" value=".jsp"/> </bean> </beans> 只知道把配置文件如:mybatis.xml、spring-web.xml、applicationContext.xml等放到src目錄(就是存放代碼.java文件的目錄),然後使用“classpath:xxx.xml”來讀取,都放到src目錄準沒錯,那麽到底classpath到底指的什麽位置呢? 用maven構建項目時候resource目錄就是默認的classpath classPath即為java文件編譯之後的class文件的編譯目錄一般為web-inf/classes,src下的xml在編譯時也會復制到classPath下 ApplicationContext ctx = new ClassPathXmlApplicationContext("xxxx.xml"); //讀取classPath下的spring.xml配置文件 ApplicationContext ctx = new FileSystemXmlApplicationContext("WebRoot/WEB-INF/xxxx.xml"); //讀取WEB-INF 下的spring.xml文件 6,添加control類,添加 .jsp頁面 完全參照 https://blog.csdn.net/u012660464/article/details/53199439 最後訪問如下地址: http://localhost:8080/SpringMvcHelloWorld/hello/mvc

spring基礎知識,未完待續