1.SpringMvc--初識springmvc

         引自@精品惟居css

         springMvc是什麼

         springmvc是表現層的框架,是一個spring的表現層組件。是整個spring框架的一部分,可是也能夠不使用springmvc。跟struts2框架功能相似。其中的mvc指的是,表現層的Model、View、controller。前端

         springMvc能夠作什麼

         springmvc能夠接收用戶的數據以及將數據顯示給用戶。java

         springMvc的工做原理

         

         springMvc的入門程序

         下面,咱們一塊兒來建立一個基於springmvc框架的小demo。web

         第一步:建立一個dynamic web project 項目,取名爲springmvc。spring

         第二步:將咱們的程序用到的jar包導入webContent目錄下的WEB-INF目錄下的lib文件夾中,具體以下圖所示:瀏覽器

         

         第三步:建立springmvc.xml文件spring-mvc

         這是springmvc的核心配置文件,能夠在該文件中配置一些springmvc的設置,如開啓註解、註解驅動、試圖解析器等。若是沒有配置該文件,框架默認會去找/WEB-INF/springMvc0917-servlet.xml文件,若是依然找不到,那麼就會拋出異常。mvc

         該文件代碼以下:app

<?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:dubbo="http://code.alibabatech.com/schema/dubbo" 
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://code.alibabatech.com/schema/dubbo 
        http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-4.0.xsd">

    <!-- 開啓註解掃描, 這樣@Controller, @Service等註解纔會生效 -->
    <context:component-scan base-package="cn.itcast.controller"></context:component-scan>
</beans>

 

 

 

         第四步:配置前端控制器,在web.xml中添加DispatcherServlet的配置。將springmvc框架經過web.xml文件,配置到咱們的系統中。而且將springMvc.xml中的配置注入到咱們的框架中去。框架

         web.xml中的代碼以下:

    
 1 <!-- 前端控制器 -->
 2 <servlet>
 3         <servlet-name>springmvc</servlet-name>
 4         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 5         <init-param>
 6                 <param-name>contextConfigLocation</param-name>
 7                 <param-value>classpath:springmvc.xml</param-value>
 8         </init-param>
 9 </servlet>
10 <servlet-mapping>
11         <servlet-name>springmvc</servlet-name>
12       <!-- 
13       /*   在springMvc中不可使用, 由於/* 全部的路徑都會進入到DispatcherServlet中可是不放行
14       /     全部的url路徑都會進入DispatcherServlet, 放行.jsp的文件, 其餘文件都不放行包括.js.css.png.jpg等
15       *.action   url路徑只有以.action結尾的才能夠進入DispatcherServlet, 並放行
16        -->
17         <url-pattern>*.action</url-pattern>
18 </servlet-mapping>
View Code

 

         第五步:建立ItemsController
         ItemController是一個普通的java類,不須要實現任何接口,只須要在類上添加@Controller註解便可。@RequestMapping註解指定請求的url,其中「.action」能夠加也能夠不加。在itmesController中@RequestMapping("/list")指的是,咱們在訪問ModelAndView這個方法的時候,在url路徑上須要寫的地址是:主機名:端口號名/工程名稱/list.action。modelAndView.addObject("itemList", itemList);則是將一個itemList對象存入request域中,存的名稱則是前面第一參數中的itemList。modelAndView.setViewName("/WEB-INF/jsp/itemList.jsp");設置的是返回到哪一個頁面。

 

  
 1 package cn.itcast.controller;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 import org.springframework.stereotype.Controller;
 7 import org.springframework.web.bind.annotation.RequestMapping;
 8 import org.springframework.web.servlet.ModelAndView;
 9 
10 import cn.itcast.pojo.Items;
11 
12 @Controller
13 public class ItemsController {
14 
15     //表示url到請求方法的映射, 其實就是經過瀏覽器中輸入一個url, 這個url能夠對應訪問到一個controller中的方法
16     @RequestMapping("/list")
17     public ModelAndView list() throws Exception{
18         List<Items> itemList = new ArrayList<>();
19         
20         //商品列表
21         Items items_1 = new Items();
22         items_1.setName("聯想筆記本_3");
23         items_1.setPrice(6000f);
24         items_1.setDetail("ThinkPad T430 聯想筆記本電腦!");
25         
26         Items items_2 = new Items();
27         items_2.setName("蘋果手機");
28         items_2.setPrice(5000f);
29         items_2.setDetail("iphone6蘋果手機!");
30         
31         itemList.add(items_1);
32         itemList.add(items_2);
33         
34         //模型和視圖
35         //模型中能夠放入返回給頁面的數據,
36         //視圖中放了頁面的路徑
37         ModelAndView modelAndView = new ModelAndView();
38         //將返回給頁面的數據放入其中
39         modelAndView.addObject("itemList", itemList);
40         //指定頁面的邏輯路徑
41         //邏輯路徑: 就是頁面地址的字符串
42         //物理路徑: 物理路徑就是頁面的對象
43         modelAndView.setViewName("/WEB-INF/jsp/itemList.jsp");
44         return modelAndView;
45     }
46 }
View Code
相關文章
相關標籤/搜索