《SpringMVC從入門到放肆》一、概述

一、SpringMVC概述

ViewServiceDaoDB
Spring MVCinterfaceinterfaceMysql
implsimpls

SpringMVC也叫Spring web mvc,屬于表現層框架。SpringMVC是Spring框架的一部分,是在Spring3.0后發布的。

二、第一個SpringMVC程序
功能描述:
  用戶提交一個請求,服務器端處理器在接收到這個請求后,向客戶端響應一條歡迎信息。
新建項目:
  Eclipse:File-->New-->Web Project
導出Jar包:

commons-logging-1.2.jar
log4j-1.2.17.jar
spring-aop-4.3.9.RELEASE.jar
spring-aspects-4.3.9.RELEASE.jar
spring-beans-4.3.9.RELEASE.jar
spring-context-4.3.9.RELEASE.jar
spring-context-support-4.3.9.RELEASE.jar
spring-core-4.3.9.RELEASE.jar
spring-expression-4.3.9.RELEASE.jar
spring-jdbc-4.3.9.RELEASE.jar
spring-orm-4.3.9.RELEASE.jar
spring-tx-4.3.9.RELEASE.jar
spring-web-4.3.9.RELEASE.jar
spring-webmvc-4.3.9.RELEASE.jar

?

新建包:cn.wechatbao.controller
新建Class:

package cn.wechatbao.controller;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;/**
* 要實現Controller接口,這樣就算是一個springmvc的Controller了。
* @author Jonas
*
*/
public class MyController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception {ModelAndView mv = new ModelAndView();mv.addObject("message","hello spring mvc world");mv.setViewName("/WEB-INF/jsp/welcome.jsp");return mv;}}

  

三、配置Srpingmvc.xml
在src/下創建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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- 注冊SpringMVC處理器 --><bean id="/my.do" class="cn.wechatbao.controller.MyController"></bean>
</beans>

注意:上面導入了很多Spring的約束,這里其實只需要beans就可以了,因為我們目前只是學習SpringMVC,一些其它的暫時還用不到,但是隨著深入,將來會用到,所以這里我就將完整的Spring約束都放上來了。來說明一下每個約束具體的作用。

1、spring-beans.xsd Srping的核心約束,主要用于定義Bean等
2、spring-context.xsd Spring上下文
3、spring-aop.xsd Spring的面向切面編程(切面這里不作解釋,將來遇到再解釋)
4、spring-tx.xsd Spring的聲明式事務

四、注冊中央調度器
在WEB-INF/web.xml中添加如下內容:

<!-- 注冊中央調度器 -->
<servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 指定springmvc配置文件的位置及文件名 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><!-- 默認DispatcherServlet對象是在請求到了后創建對象,修改load-on-startup為0以上的數字后,表示tomcat啟動時直接創建DispatcherServlet對象,數字越小優先級越高(0除外)--><load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>*.do</url-pattern><!-- 這里建議大家攔截具體的后綴 -->
</servlet-mapping>

注意:上面如果不配置init-param,配置文件則需要在WEB-INF目錄下,文件名為servlet-name加上-servlet.xml。具體的源碼大家可以通過DispatcherServlet類來找其父類org.springframework.web.servlet.FrameworkServlet,如下圖:


五、測試功能
上述配置都配置好后,程序則可以發布運行了。發布到tomcat后大家直接在瀏覽器中輸入我們在springmvc.xml中配置好的處理器my.do就可以了。
http://localhost:8080/SpringMVC/my.do
如果出現如下界面則說明正確:

?

轉載于:https://www.cnblogs.com/xinhudong/p/8316261.html

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

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

相關文章

手握流量密碼,萬粉不是夢

前言 可能大家來到CSDN的目的初衷都是不一樣的&#xff0c;像我注冊CSDN的時候完全是為了解決自己項目中的各種問題&#xff0c;能夠有一個為我提供正確答案、正確解決方案的一個平臺&#xff0c;簡單的了解后我選擇CSDN&#xff0c;直到成為現在的創作者也說明我的選擇是對的…

秋季學期學習總結

轉載于:https://www.cnblogs.com/zx666/p/10408950.html

一文帶你了解React框架

前言 由于 React的設計思想極其獨特&#xff0c;屬于革命性創新&#xff0c;性能出眾&#xff0c;代碼邏輯卻非常簡單。所以&#xff0c;越來越多的人開始關注和使用&#xff0c;認為它可能是將來 Web 開發的主流工具。 這個項目本身也越滾越大&#xff0c;從最早的UI引擎變成…

Web前端JQuery面試題(一)

Web前端JQuery面試題&#xff08;一&#xff09; 一&#xff1a;選擇器 基本選擇器 什么是#id&#xff0c;element&#xff0c;.class&#xff0c;*&#xff0c;selector1, selector2, selectorN&#xff1f;答&#xff1a; 根據給定的id匹配一個元素&#xff0c;用于搜索&…

前端云原生——微信小程序云服務配置

前端同樣涉及云原生前言創建使用云開發項目搭建云環境測試云服務1. 獲取openid&#xff08;上傳本地login云函數&#xff09;1.1 創建部署login文件時報錯2. 自定義sum函數并創建部署3. 上傳圖片4. 前端操作數據庫5. 即時通信demo面試法寶歡迎各位小伙伴們&#xff01; 為大家推…

45天帶你玩轉Node(第一天)初探Node.js

45天帶你玩轉Node 粉絲要求博主系統的寫一篇關于Node.js的學習資料&#xff0c;但其實我們的Node.js知識點并不少&#xff0c;所以博主為大家搭建了一個專欄&#xff0c;為了方便大家系統的學習Node.js&#xff0c;大家記得訂閱哦&#xff01;雖然我們的Node.js還很年輕&#…

VLC的一些接口

其他參考鏈接&#xff1a; 1、https://www.cnblogs.com/smartsensor/p/4343769.html /*Set the video scaling factor。 Zero is a special value; it will adjust the video to the outputwindow/drawable (in windowed mode) or the entire screen. */ 設置縮放系數 void li…

【轉載】 安卓版手機微信如何清理微信空間

在手機微信的使用過程中&#xff0c;隨著手機微信使用的時間越長&#xff0c;手機微信占用的空間越大&#xff0c;其實手機微信存儲了很多聊天記錄包括圖片、視頻等大文件信息&#xff0c;此時如果手機存儲空間比較緊張&#xff0c;可以使用微信自帶的清理工具對手機微信空間進…

45天帶你玩轉Node(第二天)走進Node.js

45天帶你玩轉Node 粉絲要求博主系統的寫一篇關于Node.js的學習資料&#xff0c;但其實我們的Node.js知識點并不少&#xff0c;所以博主為大家搭建了一個專欄&#xff0c;為了方便大家系統的學習Node.js&#xff0c;大家記得訂閱哦&#xff01;雖然我們的Node.js還很年輕&#…

Windows2008安裝組件命令行工具ServerManagerCmd用法介紹

轉自&#xff1a;http://blog.sina.com.cn/s/blog_537de4b5010128al.html Windows2008 安裝組件服務等內容比原來復雜的多&#xff0c;用鼠標點來點去&#xff0c;既繁瑣也緩慢&#xff0c;所幸微軟提供了命令行工具ServerManagerCmd.exe 用法: ServerManagerCmd.exe安裝和刪除…

記錄今天登錄oracle時遇到的一個小問題--不能登錄

因為最近的項目使用的是oracle數據庫&#xff0c;所以我就裝了一個Windows虛擬機&#xff0c;在虛擬機上安裝了oracle 10g。之前一直都是掛起的&#xff0c;今天打開想練練的時候&#xff0c;發現plsql工具連接不上了。 用戶名是scott&#xff0c;密碼是scott&#xff0c;就是連…

深入Vue原理_數據響應式

歡迎各位小伙伴們&#xff01; 為大家推薦一款刷題神奇哦 點擊鏈接訪問牛客網 各大互聯網大廠面試真題。從基礎到入階乃至原理刨析類面試題 應有盡有&#xff0c;趕快來裝備自己吧&#xff01;助你面試穩操勝券&#xff0c;solo全場面試官 數據響應式響應式是什么如何實現數據響…

python scipy樣條插值函數大全(interpolate里interpld函數)

scipy樣條插值 scipy樣條插值1、樣條插值法是一種以可變樣條來作出一條經過一系列點的光滑曲線的數學方法。插值樣條是由一些多項式組成的&#xff0c;每一個多項式都是由相鄰的兩個數據點決定的&#xff0c;這樣&#xff0c;任意的兩個相鄰的多項式以及它們的導數(不包括仇階導…

EKS獨領風騷

前言 隨著公司的逐漸發展&#xff0c;開拓了更加多的子項目與小程序&#xff0c;這些都需要進行宣傳&#xff0c;但是管理以及部署新的應用是一個繁瑣的工程&#xff0c;部署麻煩而且更新業務的時候非常不方面。尤其面向用戶的時候&#xff0c;體驗感很差。于是想要使用docker…

Linux進程管理之ps的使用

主題Linux進程管理之ps工具的使用 一ps工具的介紹 ps: process state 進程狀態ps - report a snapshot of the current processesLinux系統各進程的相關信息均保存在/proc/PID目錄下的各文件中 默認顯示的內容很少 [rootcentos65 ~]# psPID TTY TIME CMD2018 pts/0 …

openstack Q版部署-----安裝報錯問題

1、實例開機提示找不到磁盤Booting from Hard Disk... GRUB. 開啟 CPU 虛擬化支持。 將計算節點 nova.conf 配置修改如下即可&#xff1a; [libvirt] cpu_mode none virt_type qemu重啟服務 systemctl restart libvirtd.service openstack-nova-compute.service 2、錯誤: 超過…

深入Vue原理_雙向數據綁定(視圖/數據)

歡迎各位小伙伴們&#xff01; 為大家推薦一款刷題神奇哦 點擊鏈接訪問牛客網 各大互聯網大廠面試真題。從基礎到入階乃至原理刨析類面試題 應有盡有&#xff0c;趕快來裝備自己吧&#xff01;助你面試穩操勝券&#xff0c;solo全場面試官 文章目錄數據的變化反應到視圖命令式操…

【BZOJ3894】文理分科

已經連續很久沒有當場想出來題了。。。。 $yyb$認為這是一道傻逼題&#xff0c;但是我并不這么認為。。。。 題面 https://www.lydsy.com/JudgeOnline/problem.php?id3894 題解 加點&#xff1a;三叉戟結構的小技巧。 假設割$S$表示不學文&#xff0c;割$T$表示不學理。 對于一…

CodeForces 1131G. Most Dangerous Shark

題目簡述&#xff1a;從左到右依次有$n \leq 10^7$個Domino骨牌&#xff0c;高度為$h_i$&#xff0c;手動推倒他的花費為$c_i$。每個骨牌之間的距離為$1$。一個骨牌可以被向左或者向右推倒。當第$i$個骨牌被推倒時&#xff0c;他會以相同方向推倒與其距離$<h_i$的所有骨牌。…

大廠直通車【C認證】踵磅來襲

歡迎各位小伙伴們&#xff01; 首先為大家推薦一款刷題神奇哦 點擊鏈接訪問牛客網 各大互聯網大廠面試真題。從基礎到入階乃至原理刨析類面試題 應有盡有&#xff0c;趕快來裝備自己吧&#xff01;助你面試穩操勝券&#xff0c;solo全場面試官 你還在以為CSDN僅僅是一個簡簡單單…