寫一個簡單的SpringMvc的demo


1.引入springmvc相關的架包

 

 

 2.在web.xml中配置DispatcherServlet

 1   <servlet>
 2       <servlet-name>springMVC</servlet-name>
 3       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 4       <init-param>
 5           <param-name>contextConfigLocation</param-name>
 6           <param-value>classpath:springMVC-annotation.xml</param-value>
 7       </init-param>
 8   </servlet>
 9   
10   <servlet-mapping>
11       <servlet-name>springMVC</servlet-name>
12       <url-pattern>*.do</url-pattern>
13   </servlet-mapping>

3.配置springMvc的配置文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://www.springframework.org/schema/beans
 5         http://www.springframework.org/schema/beans/spring-beans.xsd">
 6         
 7         
 8     <!-- 配置一個handMappering  如果不配置系統會默認有一個HandleMapping -->
 9     
10     <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> 
11     <!-- 注冊自己用的controller類 -->
12     <bean name="/my.do" class="com.zhiyou100.mcl.controller.MyController"></bean>   
13     <!-- 配置視圖解析器 -->
14     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
15         <property name="prefix" value="/WEB-INF/view/"/>
16         <property name="suffix" value=".jsp"/>
17     </bean>
18 </beans>

4.常見的HandlerMapping

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://www.springframework.org/schema/beans
 5         http://www.springframework.org/schema/beans/spring-beans.xsd">
 6         
 7         
 8     <!-- 配置一個handMappering  如果不配置系統會默認有一個HandleMapping -->
 9     <!-- 1.根據bean名查找 -->
10     <!-- <bean  class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> -->
11     <!-- 注冊自己用的controller類 -->
12     <!-- <bean name="/my.do" class="com.zhiyou100.mcl.controller.MyController"></bean> -->        
13     <!-- 2.根據id查找相對應的controller類
14           這里包含了id與url地址的映射關系
15      -->
16     <!-- <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
17         <property name="mappings">
18             <props>
19                 <prop key="/a.do">my1</prop>
20                 <prop key="/b.do">my2</prop>
21             </props>
22         </property>
23     </bean>       
24     注冊自己用的controller類
25     <bean id="my1" class="com.zhiyou100.mcl.controller.MyController"></bean>
26     <bean id="my2" class="com.zhiyou100.mcl.controller.MyController2"></bean> -->
27     
28     <!-- 3.根據controller類的名字查找對應的Contorller類
29     類中除了Controller首字母大寫,其他都小寫 -->
30     <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
31     <bean class="com.zhiyou100.mcl.controller.MyController"></bean>
32     <bean class="com.zhiyou100.mcl.controller.SecondController"></bean>
33     <!-- 配置視圖解析器 -->
34     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
35         <property name="prefix" value="/WEB-INF/view/"/>
36         <property name="suffix" value=".jsp"/>
37     </bean>
38 </beans>

4.1  BeanNameUrlHandlerMapping 根據bean標簽的名稱找到對應的Controller

4.2  SimpleUrlHandlerMapping 根據beanid查找對應的Controller類。

4.3  ControllerClassNameHandlerMapping 根據controller類的名字找到對應的Controller

5.  使用注解來替代配置信息。(比較常用)

5.1  加入額外的架包

 

 

5.2  springmvc配置文件中加入如下代碼。

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:context="http://www.springframework.org/schema/context"
 5     xmlns:mvc="http://www.springframework.org/schema/mvc"
 6     xsi:schemaLocation="http://www.springframework.org/schema/beans
 7         http://www.springframework.org/schema/beans/spring-beans.xsd
 8         http://www.springframework.org/schema/context
 9         http://www.springframework.org/schema/context/spring-context.xsd
10         http://www.springframework.org/schema/mvc
11         http://www.springframework.org/schema/mvc/spring-mvc.xsd
12         ">
13         
14         <!-- 包掃描:掃描注解所在的包controller類所在的包 -->
15         <context:component-scan base-package="com.zhiyou100.mcl.controller.annotation"></context:component-scan>
16         <!-- 開啟注解驅動AnnotationHandlerMapping -->
17         <mvc:annotation-driven/>
18     
19     <!-- 配置視圖解析器 -->
20     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
21         <property name="prefix" value="/WEB-INF/view/"/>
22         <property name="suffix" value=".jsp"/>
23     </bean>
24 
25 </beans>

5.2  創建Controller類

 1 package com.zhiyou100.mcl.controller.annotation;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 
 6 @Controller
 7 public class MyController1 {
 8     @RequestMapping("/list.do")  //表示的是網頁地址欄上的訪問地址
 9     public String list() {
10         System.out.println("查詢所有");
11         return "login";        
12     }
13     
14     @RequestMapping("/delete.do")
15     public String delete() {
16         System.out.println("刪除");
17         return "login";        
18     }
19     
20     @RequestMapping("/save.do")
21     public String save() {
22         System.out.println("保存");
23         return "login";        
24     }
25 }

每一個請求對應着Controller中的一個方法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM