1. 程式人生 > >springMVC第一個demo(基於註解方式)

springMVC第一個demo(基於註解方式)

因為粗心沒仔細看報錯資訊所以搭建了好久,剛好有時間就記錄下來,希望其他訪問不到Controller類的初學者不要跟我一樣粗心浪費時間
jre版本:1.8
tomca版本:v9.0
spring版本:5.0.1
導包:本人匯入了spring的所有包,沒出現問題,不知道有沒有壞處,高手路過可以指點一下嗎
先貼上我的專案結構
這裡把jsp檔案放在WEB-INF/jsp
這裡把jsp檔案放在WEB-INF/jsp目錄下了
下面是搭建步驟(僅供參考)
1.配置web工程的web.xml檔案,放在WEB-INF下

<?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_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>spring-MVC</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  
  <!-- 前端控制器 -->
  <servlet>
  	<servlet-name>spring-MVC</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  	<!-- 預設找 /WEB-INF/[servlet的名稱]-servlet.xml -->
  	<init-param>
  		<param-name>contextConfigLocation</param-name>
  		<param-value>classpath:springmvc-config.xml</param-value>
  	</init-param>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>spring-MVC</servlet-name>
  	<!-- 
  		1. /*  攔截所有   jsp  js png .css  真的全攔截   建議不使用
  		2. *.action *.do 攔截以do action 結尾的請求     肯定能使用   ERP  
  		3. /  攔截所有 (不包括jsp) (包含.js .png.css)  強烈建議使用     前臺 面向消費者  www.jd.com/search   /對靜態資源放行
  	 -->
  	<url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

2.編寫springmvc配置檔案,我的檔名為springmvc-config.xml。
注意:spring4.0版本以上的處理器對映器,處理器介面卡,檢視解析器可寫可不寫

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans.xsd 
       http://www.springframework.org/schema/context 
       http://www.springframework.org/schema/context/spring-context.xsd">
		

<!--  配置handle 對映”/hello“請求  -->
<!-- <bean name="/hello" class="org.fkitcontroller.HelloController"></bean> -->

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

<!-- 處理器對映器
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>
處理器介面卡
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>
檢視解析器
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>
 -->
 <!--如果寫了下面這個bean,那麼在控制器類返回檢視名的時候應該省略"/WEB-INF/"以及".jsp"字尾 -->
  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        	<property name="prefix" value="/WEB-INF/jsp/"/>
        	<property name="suffix" value=".jsp"/>
    </bean>
 
</beans>

3.編寫控制器類

package com;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HelloController {
	
	@RequestMapping("/hello")
	public ModelAndView hello() {
		System.out.println("hello");
		ModelAndView mv = new ModelAndView();
		mv.addObject("message","hello spring MVC");
		//如果沒配置檢視解析器則用這個路徑WEB-INF/jsp/index.jsp
		//mv.setViewName("WEB-INF/jsp/index.jsp");
		
		mv.setViewName("index");
		return mv;
	}
}

4.編寫View頁面

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>welcome</title>
</head>
<body>
 
返回值:${message}
</body>
</html>

5.測試應用
在eclipse部署web應用後,在瀏覽器訪問127.0.0.1:8080/spring-MVC/hello
在這裡插入圖片描述