1. 程式人生 > >springmvc 專案完整示例07 設定配置整合springmvc springmvc所需jar包springmvc web.xml檔案配置

springmvc 專案完整示例07 設定配置整合springmvc springmvc所需jar包springmvc web.xml檔案配置

前面主要是後臺程式碼,spring以及mybatis的整合

下面主要是springmvc用來處理請求轉發,展現層的處理

之前所有做到的,完成了後臺,業務層和持久層的開發完成了

接下來就是展現層了

有很多的mvc框架,這裡我們用springMVC

首先還是需要jar包

ae51400a-9881-4d5e-be2d-8122152dc137

我們既然是web專案了

9fa4f47a-df77-42d1-812c-a984f8597c9d

也是不可少的,所以需要增加這兩個包

我們需要配置web.xml

一個web專案,啟動的時候,容器這裡指的是tomcat這種,會首先讀取web.xml配置檔案裡面的配置

所以他是最根本的配置檔案

spring的配置需要在這裡設定下,我們用的tomcat容器就可以自動啟動我們的spring容器了

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://java.sun.com/xml/ns/javaee"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

id="WebApp_ID"

version="3.0">

<!-- 1,從類路徑下載入spring的配置檔案,classpath關鍵字特指類路徑下載入 -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:applicationContext.xml</param-value>

</context-param>

<!--2,負責啟動spring容器的監聽器,它將引用1處的上下文引數,獲得spring配置檔案的地址 -->

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

</web-app>

1.  首先是我們通過web.xml的上下文引數,指定配置檔案的路徑

2. 然後就是指定Spring所提供的ContextLoaderListener的web容器監聽器

該監聽器在web容器啟動的時候自動啟動,根據1 處的引數的值,獲取配置檔案路徑,讀取配置檔案,並且啟動spring

還需要配置servlet截獲URL請求

<servlet>

<servlet-name>bbs</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:springmvc.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

注意:

配置了servlet,還需要有一個配置檔案,這個配置檔案

預設為WEB-INF目錄下,名稱為[<servlet-name>]-servlet.xml

下面這個,就是指定了配置檔案的名字和位置

02369148-c667-48e5-a914-fdf8045554eb

說白了就是,配置了servlet需要有一個對照的配置檔案,要麼按照人家預設規範的位置和名字寫一個

要麼就自己規定一個名字和位置

建議自定義一個

我們還要定義攔截的請求不是麼

<servlet-mapping>

<servlet-name>bbs</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

這個就是了,名字自然就是我們的servlet名字,匹配的就是.do結尾的,按道理來說,你設定成啥都是可以的 

所以我們的web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://java.sun.com/xml/ns/javaee"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

id="WebApp_ID"

version="3.0">

<!-- 1,從類路徑下載入spring的配置檔案,classpath關鍵字特指類路徑下載入 -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:applicationContext.xml</param-value>

</context-param>

<!--2,負責啟動spring容器的監聽器,它將引用1處的上下文引數,獲得spring配置檔案的地址 -->

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

<servlet>

<servlet-name>bbs</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:springmvc.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>bbs</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

</web-app>

springmvc.xml內容為

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:mvc="http://www.springframework.org/schema/mvc"

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"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-4.2.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-4.2.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">

<!-- 自動掃描帶有@Controller註解的控制層,注入為bean -->

<context:component-scan base-package="com.bbs.web" />

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix" value="/WEB-INF/views/" />

<property name="suffix" value=".jsp" />

</bean>

</beans>

配置好了之後,我們該開始寫controller了

先寫一個測試用的最基本的

在我們之前的web目錄下面,我們新建一個class,名字為,LoginController

package com.bbs.web;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import com.bbs.service.UserService;

@Controller

public class LoginController {

@Autowired

private UserService userService;

@RequestMapping(value="/login")

public String toLoginPage(){

return "login";

}

}

@controller是controller的註解哈

我們返回一個檢視

檢視的名字是login

還記得麼,我們在servlet的配置檔案中,本專案中就是springmvc.xml中,配置了,頁面檔案的

位置

字首字尾哦

然後我們需要按照我們自己指定的位置,建立一個jsp檔案,命名為login.jsp

33963772-288b-4ca6-901e-3ca2f93be15e

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>標題</title>

</head>

<body>

這個是首頁

</body>

</html>

如上我們就寫了一行程式碼作為測試

至此,我們的整個的過程就搭建好了,執行一下

eclipse配置下tomcat,專案新增進去(右鍵   new  server  建立一個server選擇你電腦上安裝好的tomcat即可)

37bc4ae5-6478-48af-a6d5-2fc6b26ab958

63069019-e204-486f-9c49-8f7dfde612c6

頁面經過配置的servlet攔截,走到controller,controller幫我們找到頁面

成功走通了

fb2d3445-04d1-4efb-9758-10a9cc3ab2dc

http://localhost:8080/bbs/login.do

8080這個是server的配置,看準埠哈,如果是修改成80的話,就不用寫了可以省略

bbs是我們的專案的名字

login是我們的controller中的配置

do是配置檔案中的字尾

spring原理 實踐解析-簡單的helloworld

springmvc整合mybatis完整專案示例

maven專案整合springmvc整合mybatis