編寫一個簡單的spring MVC程序

一、下載和安裝spring框架

  進入http://repo.springsource.org/libs-release-local/org/springframework/spring/4.2.0.RELEASE/下載一個spring框架,然后打開lib目錄里的jar文件拷貝到項目的WEB-INF/lib目錄下。

二、配置web.xml文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<servlet>
  <!--?servlet名稱?-->
  <servlet-name>springmvc</servlet-name>
  <!--?servlet對應的類?-->
  <servlet-class>
   org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <!--?當前servlet的參數信息?-->
  <init-param>
   ??<!--?contextConfigLocation是參數名稱,該參數的值包括Spring?MVC的配置文件路徑-->
   ??<param-name>contextConfigLocation</?param-name?>
   ??<param-value>/WEB-INF/springmvc-config.xml</param-value>
  </init-param>
  <!--?在web應用啟動時立即加載Servlet?-->
????<load-on-startup>1</load-on-startup>
</servlet>
<!--?讓Spring?MVC的前端控制器攔截所有請求?-->
<servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

三、配置Spring MVC的Controller 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml?version="1.0"?encoding="UTF-8"?>
<beans?xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   ??????????xsi:schemaLocation="http://www.springframework.org/schema/beans
              ??????http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
  <!--?配置Handle,映射“/hello”?請求-->
  <bean?name="/hello"?class="org.fkit.controller.HelloController"?/>
  <!--?處理映射器將bean的name作為URL進行查找,需要在配置Handle是指定name(即URL)?-->
 ??<bean?class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"?/>
  <!--?SimpleControllerHandlerAdapter是一個處理器適配器,所有處理適配器都需要實現?HandlerAdapter接口-->
????<bean?class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/?>
  <!--?視圖解析器?-->
????<bean?class="org.springframework.web.servlet.view.InternalResourceViewResolver"/?>
<beans>

四、Controller類的實現  

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package?com.ibs.controller;
??
import?org.apache.commons.logging.Log;
import?org.apache.commons.logging.LogFactory;
import?org.springframework.stereotype.Controller;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.web.servlet.ModelAndView;
??
@Controller
public?class?HelloController?{
  private?static?final?Log?logger?=?LogFactory.getLog(HelloController.class);
  /*?handleRequest是Controller接口必須實現的方法。
??????該方法的參數是對應請求的HttpservletRequest和HttpservletResponse.
 ????該方法必須返回一個包含視圖名或視圖名和模型的ModelAndView對象
?????*/
??
  @RequestMapping(value="/hello")
   public?ModelAndView?hello()?{
??
    //?生成日志
    logger.info("hello,world!!");?
    //?創建一個ModelAndView?對象
    ModelAndView?mv?=?new?ModelAndView();
    //?添加模型數據,可以是任意POJO對象
    mv.addObject("message","Another?hello?world...");
    //?設置邏輯視圖名,視圖解析器會根據該名字解析到具體的視圖頁面
    mv.setViewName("/WEB-INF/content/welcome.jsp");
    //?返回這個ModelAndView?對象
    return?mv;
   }
 }

五、View頁面 

?
1
2
3
4
5
6
7
8
9
10
11
12
<%@?page?language="java"?contentType="text/html;?charset=UTF-8"?pageEncoding="UTF-8"%>
<!DOCTYPE?html>
<html>
<head>
 <meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8">
 <title>歡迎頁面</title>
</head>
<body>
  <!--?頁面可以訪問Controller傳遞傳遞出來的message?-->
  ${requestScope.message}
</body>
</html>

轉載于:https://www.cnblogs.com/blogShare/p/7444223.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253608.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253608.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253608.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DM368 Uboot

這三個參數均有UBOOT直接傳遞給內核&#xff0c;所以要想知道他們具體的作用&#xff0c;需要根系內核模塊的結構。 dm365_imp.oper_mode 是指在內核模塊中內存空間采用連續、或者不連續模式。 davinci_capture.device_type 是你的捕獲設備的…

7. B+樹

一、B樹是應文件系統所需而產生的一種B樹的變形樹 1. 定義&#xff08;使用階數m來定義&#xff09; 除了根結點外&#xff0c;其他非終端結點最多有m個關鍵字&#xff0c;最少有?m/2?個關鍵字結點中的每個關鍵字對應一個子樹所有的非終端結點可以看成是索引部分&#xff0c;…

Retinex理論及算法學習

為了能夠獲取最大的信息量,達到更好的圖像增強效果。了解人類視覺系統的特性和圖像的屬性是準確地選擇圖像增強方法的必備知識。 一、人眼視覺系統 1、人眼成像 人的眼睛是一個非常復雜的器官。一般來說它就是一個球體,平均直徑約為20mm,內壁是一層視網膜(retina),前部…

js或css文件后面的參數是什么意思?

經常看到不少導航網站測樣式或js文件后面加了一些參數&#xff0c;主要是一你為一些并不經常更新的頁面重新加載新修改的文件。 經常遇到頁面里加載的js與css文件帶有參數&#xff0c;比如&#xff1a; <script type"text/javascript" src"jb51.js?version1…

TCP/IP協議與UDP協議的區別

首先咱們弄清楚&#xff0c;TCP協議和UCP協議與TCP/IP協議的聯系&#xff0c;很多人犯糊涂了&#xff0c;一直都是說TCP/IP協議與UDP協議的區別&#xff0c;我覺得這是沒有從本質上弄清楚網絡通信&#xff01;TCP/IP協議是一個協議簇。里面包括很多協議的。UDP只是其中的一個。…

C++類靜態成員與類靜態成員函數

當將類的某個數據成員聲明為static時&#xff0c;該靜態數據成員只能被定義一次&#xff0c;而且要被同類的所有對象共享。各個對象都擁有類中每一個普通數據成員的副本&#xff0c;但靜態數據成員只有一個實例存在&#xff0c;與定義了多少類對象無關。靜態方法就是與該類相關…

HDR 成像技術學習(一)

在描述一個場景的時候,動態范圍(Dynamic Range)指的是其最亮部與最暗部的亮度比值。高動態范圍的場景(High Dynamic Range Scene)指的是場景里同時存在非常明亮和非常暗淡的部分。 圖像傳感器所能捕捉的動態范圍是有限的,它受到兩個因素的限制,一個是滿阱容量(Full Wel…

Linux編程 3 (初識bash shell與man查看手冊)

一.初識bash shell 1.1 啟動 shell GNU bash shell 能提供對Linux系統的交互式訪問。通常是在用戶登錄終端時啟動&#xff0c;登錄時系統啟動shell依賴于用戶賬戶的配置。etc/passwd文件包含了所有系統用戶列表以及每個用戶的基本配置信息。      如上圖:最后一個字段&…

HDFS概述(5)————HDFS HA

HA With QJM 目標 本指南概述了HDFS高可用性&#xff08;HA&#xff09;功能以及如何使用Quorum Journal Manager&#xff08;QJM&#xff09;功能配置和管理HA HDFS集群。 本文檔假設讀者對HDFS集群中的一般組件和節點類型有一般的了解。有關詳細信息&#xff0c;請參閱HDFS架…

MFC動態創建菜單

http://blog.csdn.net/csdnzhwk/article/details/47395639轉載于:https://www.cnblogs.com/darknoll/p/6252917.html

RTP/RTCP

http://hi.baidu.com/ilovejoy/blog/item/daee10efa91e501afdfa3c5f.html http://hi.baidu.com/kikicat0_0/blog/item/6fed87b4b4fb89c536d3ca91.html

HDR 成像技術學習(二)

回顧下之前介紹的內容: HDR成像技術學習(一) 介紹了從HDR、HDR+等多幀HDR技術到硬件的單幀HDR技術。 從技術上來說,單幀HDR要比多幀HDR簡單不少,在早期設備處理能力不足的時候,速度快,沒拖影,性能要求低的單幀HDR反而要更有優勢。到了HDR+時代,單幀HDR漸漸不…

go微服務框架go-micro深度學習(一) 整體架構介紹

產品嘴里的一個小項目&#xff0c;從立項到開發上線&#xff0c;隨著時間和需求的不斷激增&#xff0c;會越來越復雜&#xff0c;變成一個大項目&#xff0c;如果前期項目架構沒設計的不好&#xff0c;代碼會越來越臃腫&#xff0c;難以維護&#xff0c;后期的每次產品迭代上線…

雜記---待整理

---恢復內容開始--- shell高亮顯示 echo -e 終端顏色 顯示內容 結束后的顏色 \e[1;31m content \e[1;0m 1為設置&#xff0c;0為不設置。 31m 0m為顏色 [ucmMacBook-Pro testpace]$ echo -e "\e[1;31m consumer huawei com \e[1;0m"consumer huawei com [ucmMacBook…

(轉載)項目實戰工具類(一):PhoneUtil(手機信息相關)

項目實戰工具類&#xff08;一&#xff09;&#xff1a;PhoneUtil&#xff08;手機信息相關&#xff09; 可以使用的功能&#xff1a; 1、獲取手機系統版本號 2、獲取手機型號 3、獲取手機寬度 4、獲取手機高度 5、獲取手機imei串號 ,GSM手機的 IMEI 和 CDMA手機的 MEID. 6、…

手把手教你寫Linux I2C設備驅動

手把手教你寫Linux I2C設備驅動 標簽&#xff1a;Linux 設備 驅動 詳解 i2c 原創作品&#xff0c;允許轉載&#xff0c;轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://ticktick.blog.51cto.com/823160/760020 Linux I2C驅動是嵌入…

HDR 成像技術學習(三)—— LOFIC

HDR 成像技術學習(一) HDR 成像技術學習(二) 我們拍攝的照片來自傳感器上的像素,它們將光處理為電信號,組合起來輸出畫面。當捕捉對象亮度過強,大量電荷擠在單個像素內,生成的圖像就會過曝。 LOFIC(Lateral Overflow Integration Capacitor,橫向溢出集合電容…

[模板]平面最近點對

實現 將平面內點按$x$坐標排序,分治$x$坐標,設$retmin(f(l,mid),f(mid1,r))$, 將$x\in[mid-ret,midret]$內的點按$y$坐標排序,算每個點與相鄰的$6$個點的距離找最優解即可. 時間復雜度:$O(nlogn)$. #define N 100005 #define INF 1e15 struct point{double x,y; }p[N]; inline …

人工智能與圖像傳感器

隨著人工智能時代的來臨,相應的芯片產品和行業也產生了相應的新方向。 在人工智能的各個分支中,機器視覺無疑是應用最廣泛的方向,它支撐著諸如人臉檢測、工業異常檢測、手勢識別等諸多重要的應用。顧名思義,機器視覺是使用機器學習/人工智能的方法來分析視覺信號,并且通過…

用戶空間訪問I2C設備驅動

2012-01-11 15:33:43標簽&#xff1a;Linux I2C 字符設備 設備驅動 用戶空間 原創作品&#xff0c;允許轉載&#xff0c;轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://ticktick.blog.51cto.com/823160/761830 關于Linux下如何編…