springmvc 專案完整示例07 設定配置整合springmvc springmvc所需jar包springmvc web.xml檔案配置
前面主要是後臺程式碼,spring以及mybatis的整合
下面主要是springmvc用來處理請求轉發,展現層的處理
之前所有做到的,完成了後臺,業務層和持久層的開發完成了
接下來就是展現層了
有很多的mvc框架,這裡我們用springMVC
首先還是需要jar包
我們既然是web專案了
也是不可少的,所以需要增加這兩個包
我們需要配置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
下面這個,就是指定了配置檔案的名字和位置
說白了就是,配置了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
<%@ 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即可)
頁面經過配置的servlet攔截,走到controller,controller幫我們找到頁面
成功走通了
http://localhost:8080/bbs/login.do
8080這個是server的配置,看準埠哈,如果是修改成80的話,就不用寫了可以省略
bbs是我們的專案的名字
login是我們的controller中的配置
do是配置檔案中的字尾
spring原理 實踐解析-簡單的helloworld
springmvc整合mybatis完整專案示例
maven專案整合springmvc整合mybatis