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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringMVC学习(一)——快速搭建SpringMVC开发环境(非注解方式)

發布時間:2025/3/19 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC学习(一)——快速搭建SpringMVC开发环境(非注解方式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

    • 1、開發環境準備
        • 1.1、首先電腦需要安裝JDK環境(略)
        • 1.2、準備一個以供開發的tomcat
        • 1.3、準備Maven工具
        • 1.4、準備IDE編譯器
        • 1.5、準備一個本地的數據庫,
    • 2、搭建SpringMVC開發環境
        • 2.1、創建web工程
        • 2.2、使用maven引入相關的依賴
        • 2.3、項目的整體結構圖
        • 2.4、新增springmvc-servlet的配置文件
        • 2.5、web.xml核心配置
        • 2.5、第一個HelloController
        • 2.6、配置Tomcat服務并啟動
        • 2.7、增加數據庫配置
        • 2.8、訪問數據庫測試
    • 3、框架搭建過程注意事項
        • 3.1、創建maven項目特別緩慢?
        • 3.2、applicationContext.xml和springmvc-servlet.xml區別?
        • 3.3、ApplicationContext和WebApplicationContext的關系?

1、開發環境準備

1.1、首先電腦需要安裝JDK環境(略)

說明:本機使用的是JDK1.8.0_45,一定要記得配置環境變量。

1.2、準備一個以供開發的tomcat

說明:本機使用的是Tomcat 8.0.35。

1.3、準備Maven工具

說明:因為本機使用的是maven構建項目,本機使用的Maven版本為apache-maven-3.1.0。

1.4、準備IDE編譯器

說明:本次開發使用的是IDEA,如果使用Eclipse也不影響開發。

1.5、準備一個本地的數據庫,

說明:本機使用的是mysql數據庫,目的是為了測試數據庫連接以及訪問,數據庫版本為mysql 5.1.41。

注意一下,上面是本次開發使用的開發環境的前期準備工作,如果是沒有進行過開發的小白可提前把開發環境搭建好,搭建開發環境的案例很多,本次就不再贅述了。

2、搭建SpringMVC開發環境

2.1、創建web工程

首先使用Maven工具創建一個webapp工程,選擇 File -> New Module ->Maven,選中“Create from archetype”,選擇如下圖的webapp工程

然后選擇“下一步”填入相應的字段知道完成項目創建,如果此處創建過程非常慢,請參考注意事項3.1。

2.2、使用maven引入相關的依賴

本例中使用的spirngmvc的版本為4.3.25.RELEASE

<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!-- springmvc核心依賴 --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><!-- tomcat中存在此web運行的jar包 --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version><scope>provided</scope></dependency><!-- 使用SpringJDBC進行數據庫配置 --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><!-- mysql數據庫連接的驅動--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.30</version></dependency><!-- Spring-test配合junit使用 --><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version><scope>test</scope></dependency>

2.3、項目的整體結構圖

本例中的springmvc的整體結構圖如下圖所示:

2.4、新增springmvc-servlet的配置文件

在resources目錄下新增加一個myspringmvc-servelet.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"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!-- 處理器映射器,將處理器Handler的name作為URL進行查找 --><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean><!-- 處理器適配器,適配處理器中handlerRequest方法的調用 --><bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean><!-- 配置視圖解析器,把handler方法返回的邏輯視圖解析為實際的物理視圖 --><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"/><property name="suffix" value=".jsp"/></bean> </beans>

2.5、web.xml核心配置

增加springmvc的核心配置DispatcherServlet,配置效果如下所示:

<servlet><!-- 配置核心控制 servlet的名字決定了核心配置文件的命名:springmvc-servlet.xml --><servlet-name>myspringmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 指定spring配置文件的位置,如果不配置默認/WEB-INF/[servlet-name]-servlet --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:myspringmvc-servlet.xml</param-value></init-param><!-- 項目啟動時加載 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>myspringmvc</servlet-name><!-- 配置url-pattern,設置為"/"表示攔截到所有的URL請求并映射到myspringmvc,包括靜態資源如html, js, jpg等--><url-pattern>/</url-pattern></servlet-mapping>

2.5、第一個HelloController

編寫第一個SpringMVC的Controller,需要繼承自org.springframework.web.servlet.mvc.Controller
示例代碼如下:

public class HelloController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("hello controller 跳轉到 success");ModelAndView modelAndView = new ModelAndView();modelAndView.addObject("data", "恭喜您,測試成功了");modelAndView.setViewName("success");//跳轉到/WEB-INF/views/success.jspreturn modelAndView;} }

上面的示例中需要在/WEB-INF/views/增加一個“success”的測試頁面,測試頁面的代碼如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <body> <h2>你好,跳轉到success了!!!</h2> <h3>${data}</h3> </body> </html>

編寫完HelloController后需要在myspringmvc-servlet.xml中增加這個controller的配置

<!-- 第一個springMVC測試程序 --><bean id="helloController" name="/hello" class="com.leo.controller.HelloController"></bean>

好了,第一個Controller到這里已經編寫完畢了,現在開始啟動測試一下了。

2.6、配置Tomcat服務并啟動


然后配置啟動的tomcat的位置和參數,可以參考筆者配置

部署項目的war包并且配置上下文路徑,參考筆者如下圖

啟動tomcat

訪問地址:http://localhost:8080/springmvc/

2.7、增加數據庫配置

新增加數據庫的配置信息,在pom.xml中增加如下配置(如果已經添加的請忽略),本示例中沒有引入第三方框架,使用的是spring內置的jdbc框架

<!-- 使用SpringJDBC進行數據庫配置 --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><!-- mysql數據庫連接的驅動--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.30</version></dependency>

在resources目錄下新增applicationContext.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"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!-- Spring內置連接池 --><bean id="driverManagerDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://localhost:3306/springframework_learning"></property><property name="username" value="root"></property><property name="password" value="root"></property></bean><!--指定連接池--><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="driverManagerDataSource"></property></bean><!-- 將這個工具類實例化給spring容器管理,不然會報空指針異常 --><bean id="beanUtil" class="com.leo.util.ApplicationContextUtil"></bean><!-- 測試的bean --><bean id="userInfoService" class="com.leo.service.impl.UserInfoServiceImpl"></bean> </beans>

并且在web.xml中將配置文件applicationContext.xml添加進去

<!-- 配置應用公共配置 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><!-- 定義Spring監聽器,加載Spring --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>

這里要注意一下applicationContext.xml和myspringmvc-servlet.xml都可以注入bean那他們的區別是什么?答案參考3.2

2.8、訪問數據庫測試

需要新寫一個Controller,代碼參考如下

public class GetUserInfoController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {UserInfoService userInfoService = (UserInfoService) ApplicationContextUtil.getBean("userInfoService");System.out.println("GetUserInfoController獲取用戶信息");ModelAndView modelAndView = new ModelAndView();//訪問數據庫List userInfoList = userInfoService.getUserInfoList();System.out.println(userInfoList);modelAndView.addObject("data", userInfoList);modelAndView.setViewName("success");//跳轉到/WEB-INF/views/success.jspreturn modelAndView;} }

還需要將新的Controller注冊到myspringmvc-servlet.xml配置文件中

<!-- 獲取用戶信息 --><bean id="getUserInfoController" name="/getUserInfo" class="com.leo.controller.GetUserInfoController"></bean>

然后啟動tomcat訪問:http://localhost:8080/springmvc/getUserInfo

具體的代碼地址為:chapter-1-springmvc-quickstart
(https://gitee.com/leo825/spring-framework-learning-example.git)

3、框架搭建過程注意事項

3.1、創建maven項目特別緩慢?

如果遇到創建maven過程特別緩慢的情況,需要在Setting添加一些mirror配置。操作如下:
首先找到項目中maven的settings配置文件位置,File -> Settings -> Build,Execution,Deployment -> Build Tools -> Maven

其次,在maven的settings配置文件的“mirrors”節點下添加mirror配置,然后保存,重新創建一下webapp試試。

<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>CN</id> <name>OSChina Central</name> <url>http://maven.oschina.net/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>repo2</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo2.maven.org/maven2/</url> </mirror> <mirror> <id>net-cn</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://maven.net.cn/content/groups/public/</url> </mirror> <mirror> <id>ui</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://uk.maven.org/maven2/</url> </mirror> <mirror> <id>ibiblio</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url> </mirror> <mirror> <id>jboss-public-repository-group</id> <mirrorOf>central</mirrorOf> <name>JBoss Public Repository Group</name> <url>http://repository.jboss.org/nexus/content/groups/public</url> </mirror> <mirror> <id>JBossJBPM</id> <mirrorOf>central</mirrorOf> <name>JBossJBPM Repository</name> <url>https://repository.jboss.org/nexus/content/repositories/releases/</url> </mirror> <mirror> <id>antelink</id> <mirrorOf>central</mirrorOf> <name>antelink Repository</name> <url>http://maven.antelink.com/content/repositories/central/</url> </mirror> <mirror> <id>openkoala</id> <mirrorOf>central</mirrorOf> <name>openkoala Repository</name> <url>http://nexus.openkoala.org/nexus/content/groups/Koala-release/</url> </mirror> <mirror> <id>tmatesoft</id> <mirrorOf>central</mirrorOf> <name>tmatesoft Repository</name> <url>http://maven.tmatesoft.com/content/groups/public/</url> </mirror> <mirror> <id>mavensync</id> <mirrorOf>central</mirrorOf> <name>mavensync Repository</name> <url>http://mavensync.zkoss.org/maven2/</url> </mirror>

3.2、applicationContext.xml和springmvc-servlet.xml區別?

二者區別如下:
applicationContext.xml這個一般是采用非spring mvc架構,用來加載Application Context。應用于多個servlet,配合listener一起使用。

如果直接采用SpringMVC,只需要把所有相關配置放到xxx-servlet.xml中就OK了。 如果直接使用SpringMVC是可以不添加applicationContext.xml文件的。 也可以使用applicationContext.xml添加一些公共類的bean和配置。

3.3、ApplicationContext和WebApplicationContext的關系?

ApplicationContext是Spring容器上下文,WebApplicationContext是Web容器上下文,WebApplicationContext繼承自ApplicationContext,因此只要是ApplicationContext中注冊的Bean都能在WebApplicationContext中獲取到,反之則不然。

總結

以上是生活随笔為你收集整理的SpringMVC学习(一)——快速搭建SpringMVC开发环境(非注解方式)的全部內容,希望文章能夠幫你解決所遇到的問題。

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