前面主要是后台代碼,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即可)
http://localhost:8080/bbs/login.do
頁面經過配置的servlet攔截,走到controller,controller幫我們找到頁面
成功走通了
http://localhost:8080/bbs/login.do
8080這個是server的配置,看准端口哈,如果是修改成80的話,就不用寫了可以省略
bbs是我們的項目的名字
login是我們的controller中的配置
do是配置文件中的后綴
spring原理 實踐解析-簡單的helloworld
spring原理案例-基本項目搭建 01 spring framework 下載 官網下載spring jar包
spring原理案例-基本項目搭建 02 spring jar包詳解 spring jar包的用途
spring原理案例-基本項目搭建 03 創建工程運行測試 spring ioc原理實例示例
springmvc整合mybatis完整項目示例
springmvc 項目完整示例01 需求與數據庫表設計 簡單的springmvc應用實例 web項目
springmvc 項目完整示例02 項目創建-eclipse創建動態web項目 配置文件 junit單元測試
springmvc 項目完整示例04 整合mybatis mybatis所需要的jar包 mybatis配置文件 sql語句 mybatis應用
springmvc 項目完整示例05 日志 --log4j整合 配置 log4j屬性設置 log4j 配置文件 log4j應用
springmvc 項目完整示例06 日志–log4j 參數詳細解析 log4j如何配置
springmvc 項目完整示例07 設置配置整合springmvc springmvc所需jar包springmvc web.xml文件配置
springmvc 項目完整示例08 前台頁面以及知識點總結
maven項目整合springmvc整合mybatis