日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

HelloWorld实例(springmvc版)

發布時間:2024/4/14 c/c++ 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HelloWorld实例(springmvc版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文將對應用springmvc實現HelloWorld打印,其步驟如下:

1、加入相關jar包,在maven項目里就是在pom.xml文件中引入相關實際依賴

2、在web.xml文件中配置DispatcherServlet

3、加入springmvc配置文件

4、編寫處理請求的請求處理器,并標識為處理器

5、編寫視圖

下面通過代碼具體實現:

1、配置pom.xml文件,相當于加入jar包

?1?<?xml?version="1.0"?encoding="UTF-8"?>?2?<project?xmlns="http://maven.apache.org/POM/4.0.0"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?3?????xsi:schemaLocation="http://maven.apache.org/POM/4.0.0?http://maven.apache.org/maven-v4_0_0.xsd">?4??5?????<modelVersion>4.0.0</modelVersion>?6??7?????<groupId>com.wn.third-ssmm</groupId>?8?????<artifactId>third-ssmm</artifactId>?9?????<version>1.0-SNAPSHOT</version>10?????<packaging>war</packaging>11?12?????<properties>13?????????<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>14?????????<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>15?????????<spring.version>4.2.4.RELEASE</spring.version>16?????????<java.version>1.8</java.version><!--?官方推薦?-->17?????</properties>18?19?????<!--?引入實際依賴?-->20?????<dependencies>21?????????<!--?spring?-->22?????????<dependency>23?????????????<groupId>org.springframework</groupId>24?????????????<artifactId>spring-core</artifactId>25?????????????<version>${spring.version}</version>26?????????</dependency>27?????????<dependency>28?????????????<groupId>org.springframework</groupId>29?????????????<artifactId>spring-beans</artifactId>30?????????????<version>${spring.version}</version>31?????????</dependency>32?????????<dependency>33?????????????<groupId>org.springframework</groupId>34?????????????<artifactId>spring-context</artifactId>35?????????????<version>${spring.version}</version>36?????????</dependency>37?????????<dependency>38?????????????<groupId>org.springframework</groupId>39?????????????<artifactId>spring-web</artifactId>40?????????????<version>${spring.version}</version>41?????????</dependency>42?????????<dependency>43?????????????<groupId>org.springframework</groupId>44?????????????<artifactId>spring-webmvc</artifactId>45?????????????<version>${spring.version}</version>46?????????</dependency>47?????????<dependency>48?????????????<groupId>org.springframework</groupId>49?????????????<artifactId>spring-jdbc</artifactId>50?????????????<version>${spring.version}</version>51?????????</dependency>52?????????<!--?import?lombok?-->53?????????<!--?作用:在源碼中沒有getter和setter方法,但是在編譯生成的字節碼文件中有getter和setter方法?-->54?????????<dependency>55?????????????<groupId>org.projectlombok</groupId>56?????????????<artifactId>lombok</artifactId>57?????????????<version>1.16.8</version>58?????????????<scope>provided</scope>59?????????</dependency>60?????</dependencies>61?62?????<build>63?????????<plugins>64?????????????<plugin>65?????????????????<groupId>org.apache.maven.plugins</groupId>66?????????????????<artifactId>maven-compiler-plugin</artifactId>67?????????????????<configuration>68?????????????????????<source>1.8</source>69?????????????????????<target>1.8</target>70?????????????????????<encoding>utf-8</encoding>71?????????????????</configuration>72?????????????</plugin>73?????????</plugins>74?????</build>75?</project>

2、在web.xml文件中配置DispatcherServlet

? ? DispatcherServlet的作用:如果在某個方法上配置了@RequestMapping("/helloworld"),?當瀏覽器訪問helloworld時,DispatcherServlet會將這個請求發送給 ? ? ?@RequestMapping("/helloworld")所在的方法上,執行這個方法?

?1?<?xml?version="1.0"?encoding="utf-8"?>?2?<web-app?version="2.5"?xmlns="http://java.sun.com/xml/ns/javaee"?3?????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?4?????xsi:schemaLocation="http://java.sun.com/xml/ns/javaee?http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">?5?????<!--?配置DispatcherServlet?-->?6?????<!--?配置DispatcherServlet的作用是:如果在某個方法上配置了@RequestMapping("/helloworld"),?7??????????當瀏覽器訪問helloworld時,DispatcherServlet會將這個請求發送給@RequestMapping("/helloworld")?8??????????所在的方法上,執行這個方法?-->?9?????<servlet>10?????????<servlet-name>SpringDispatcherServlet</servlet-name>11?????????<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>12?????????<!--?配置DispatcherServlet的一個初始化參數:配置springMVC配置文件的位置和名稱?-->13?????????<init-param>14?????????????<param-name>contextConfigLocation</param-name>15?????????????<param-value>classpath*:springmvc.xml</param-value>16?????????</init-param>17?????<!--SpringDispatcherServlet在當前web應用被加載的時候被創建,而不是等第一次請求的時候被創建??-->18?????????<load-on-startup>1</load-on-startup>19?????</servlet>20?????<servlet-mapping>21?????????<servlet-name>SpringDispatcherServlet</servlet-name>22?????????<url-pattern>/</url-pattern>??<!--?可以應答所有請求?-->23?????</servlet-mapping>24?????<welcome-file-list>25?????????<welcome-file>/index.jsp</welcome-file>26?????</welcome-file-list>27?</web-app>

3、配置springmvc.xml文件

?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-3.2.xsd?8????????????????????????????http://www.springframework.org/schema/context?9????????????????????????????http://www.springframework.org/schema/context/spring-context-3.2.xsd10????????????????????????????http://www.springframework.org/schema/mvc? 11????????????????????????????http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">12?????<!--?配置自動掃描的包?-->13?????<context:component-scan?base-package="com.atguigu.springmvc"/>14?????<!--?配置視圖解析器:如何把handler方法返回值解析為實際視圖?-->15?????<bean?class="org.springframework.web.servlet.view.InternalResourceViewResolver">16?????????<property?name="prefix"?value="/WEB-INF/views/"/>17?????????<property?name="suffix"?value=".jsp"/>18?????</bean>19?</beans>

4、編寫處理請求的請求處理器,并標識為處理器

?1?package?com.atguigu.springmvc.handlers;?2??3?import?org.springframework.stereotype.Controller;?4?import?org.springframework.web.bind.annotation.RequestMapping;?5??6?@Controller?//這樣標識后HelloWorld成為控制器,在springmvc叫做handler處理器或請求處理器?7?public?class?HelloWorld?{?8?????/**?9??????*?1、使用@RequestMapping注解來映射請求的URL10??????*?2、返回值會通過視圖解析器解析為實際的物理視圖:對于InternalResourceViewResolver視圖解析器,會做如下解析:11??????*????通過prefix+returnvel+后綴這樣的方式得到實際的物理視圖,然后轉發12??????*????/WEB-INF/views/success.jsp13??????*?@return14??????*/15?????@RequestMapping("/helloworld")16?????public?String?hello()?{17?????????System.out.println("HelloWorld");18?????????return?"success";19?????}20?}

5、編寫請求文件index.jsp

?1?<%@?page?language="java"?contentType="text/html;?charset=UTF-8"?2?????pageEncoding="UTF-8"%>?3?<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd">?4?<html>?5?<head>?6?<meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8">?7?<title>Insert?title?here</title>?8?</head>?9?<body>10?????<!--?超鏈接?-->11?????<a?href="/helloworld">HelloWorld</a>12?</body>13?</html>

6、在WEB-IFN下新建views文件夾,在views文件夾下新建最終頁面success.jsp,如下

?1?<%@?page?language="java"?contentType="text/html;?charset=UTF-8"?2?????pageEncoding="UTF-8"%>?3?<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd">?4?<html>?5?<head>?6?<meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8">?7?<title>Insert?title?here</title>?8?</head>?9?<body>10?????<h4>Success?Page</h4>11?</body>12?</html>

運行結果:

注:1、并不一定嚴格按照上述創建各個文件的先后順序完善各個文件內容,各個文件交叉配置

? ? ? 2、在web.xml文件中,我們也可以不適用contextConfigLocation來配置springmvc配置文件的位置和名稱,可以使用默認的,

? ????默認的配置文件為:/WEB-IFN/<servlet-name>-servlet.xml?,即將springmvc.xml文件移至WEB-IFN文件夾下,并該名為

? ? ?SpringDispatcherServlet-servlet.xml。

? ? ? 3、有關spring mvc訪問靜態資源的問題

  關于使用spring mvc處理靜態資源,比如html(發現之前的springmvc.xml中<property name = "suffix" value = ".jsp"></property>定義為jsp結尾就可以成功跳轉,但是如果改為html并在web-inf下面新建了html文件后,并將suffix這里的".jsp"改為".html",無法跳轉到想要的html頁面,并且給出404錯誤,同時console給出錯誤信息為:No mapping found for HTTP request with URI [/springTest/WEB-INF/views/result.html] in DispatcherServ)

? ? ?原因是:該 servlet 對應的 url-pattern 定義成 /,因此該 servlet 會匹配上諸如 /p_w_picpaths/a.jpg, /css/hello.css 等這些靜態資源,甚至包括 /jsp/stock/index.jsp 這些 jsp 也會匹配。但是并沒有定義相應的 Controller 來處理這些資源,因此這些請求通常是無法完成的。?

? ? ?所以,在web.xml中加入

?1?<servlet-mapping>?2??????<servlet-name>default</servlet-name>?3??????<url-pattern>*.css</url-pattern>?4?</servlet-mapping>?5??6?<servlet-mapping>?7???????<servlet-name>default</servlet-name>?8???????<url-pattern>*.gif</url-pattern>?9?</servlet-mapping>10?11?<servlet-mapping>12?????<servlet-name>default</servlet-name>13??????<url-pattern>*.jpg</url-pattern>14?</servlet-mapping>15?16?<servlet-mapping>17??????<servlet-name>default</servlet-name>18??????<url-pattern>*.js</url-pattern>19?</servlet-mapping>20?21?<servlet-mapping>22???????<servlet-name>default</servlet-name>23???????<url-pattern>*.html</url-pattern>24?</servlet-mapping>

將springmvc.xml改為:

1?class="org.springframework.web.servlet.view.InternalResourceViewResolver">2?????????????<property?name?=?"prefix"?value="/WEB-INF/views/"></property>3?????????????<property?name?=?"suffix"?value?=?".jpg"></property>4?</bean>5

就可以訪問靜態資源.jpg格式的圖片了。


轉載于:https://blog.51cto.com/12822360/1915637

總結

以上是生活随笔為你收集整理的HelloWorld实例(springmvc版)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。