Spring MVC入門好例子
阿新 • • 發佈:2019-01-12
新建一個Dynamic Web Project
直接new一個就好了,這裡工程命名為springmvc.
點選finish一個工程就建好了。
目錄如下:
接下來把上一步中的mysql-connectro-java-5.1.5-bin.jar
複製到WEB-INF/lib 目錄下
然後選中工程名稱,滑鼠右鍵,在最下面選擇properties -> java build path ->Library -> Add Library -> User Library ->Add External JARs...
這樣就把mysql 和 eclipse的驅動連線好了。
剩下的就是在配置檔案裡設定好連線引數,eclipse就可以訪問資料庫了。
到這裡,我們就把Java環境,eclipse,mysql,tomcat配置好了。
6.SpringMVC 框架
接下來就是開始搭建簡單的SpringMVC框架了
首先需要準備好 jar包
將這些jar包複製到 WEB-INF/lib目錄下,
接著在WebContent目錄下新建一個index.jsp檔案
- <%@ page language="java"contentType="text/html; charset=ISO-8859-1"
-
pageEncoding="ISO-8859-1"
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <title>Spring 3.0 MVC demo</title>
- </head>
- <body>
- <ahref="hello.html">Say Hello</a>
- </body>
- </html>
在WEB-INF目錄下新建兩個配置檔案,分別是web.xml 和 spring-servlet.xml
web.xml檔案程式碼如下:
- <?xmlversion="1.0"encoding="UTF-8"?>
- <web-appversion="2.5"xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <display-name>Spring3MVC</display-name>
- <servlet>
- <servlet-name>spring</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <!-- load-on-startup:表示啟動容器時初始化該Servlet; -->
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>spring</servlet-name>
- <!-- url-pattern:表示哪些請求交給Spring Web MVC處理, “/” 是用來定義預設servlet對映的。 -->
- <!-- 也可以如“*.html”表示攔截所有以html為副檔名的請求。 -->
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- <!-- 自此請求已交給Spring Web MVC框架處理,因此我們需要配置Spring的配置檔案, -->
- <!-- 預設DispatcherServlet會載入WEB-INF/[DispatcherServlet的Servlet名字,也就是上面的spring]-servlet.xml配置檔案。 -->
- <!-- 即spring-servlet.xml -->
- </web-app>
spring-servlet.xml程式碼如下:
- <?xmlversion="1.0"encoding="UTF-8"?>
- <beansxmlns="http://www.springframework.org/schema/beans"
- 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-3.0.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-3.0.xsd">
- <context:component-scanbase-package="net.spring.controller"/>
- <!-- 在Spring配置檔案中配置ViewResolver -->
- <!-- InternalResourceViewResolver:用於支援Servlet、JSP檢視解析;
- viewClass:JstlView表示JSP模板頁面需要使用JSTL標籤庫,classpath中必須包含jstl的相關jar包;
- prefix和suffix:查詢檢視頁面的字首和字尾(字首[邏輯檢視名]字尾),
- 比如傳進來的邏輯檢視名為hello,則該該jsp檢視頁面應該存放在“WEB-INF/jsp/hello.jsp”; -->
- <beanid="viewResolver"
- class="org.springframework.web.servlet.view.UrlBasedViewResolver">
- <propertyname="viewClass"
- value="org.springframework.web.servlet.view.JstlView"/>
- <propertyname="prefix"value="/WEB-INF/jsp/"/>
- <propertyname="suffix"value=".jsp"/>
- </bean>
- </beans>
在jsp目錄下新建一個hello.jsp 檔案
- <prename="code"class="java"><%@ page language="java"contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <%@ taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1">
- <title>Spring mvc demo</title>
- </head>
- <body>
- <p> This is my message: ${message} </p>
- </body>
- </html>
在Java Resources資原始檔夾下新建一個包:net.spring.controller,
在包目錄下新建一個HelloWorldController.java檔案
程式碼如下:
- package net.spring.controller;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.servlet.ModelAndView;
- @Controller
- publicclass HelloWorldController {
- @RequestMapping("/hello")
- public ModelAndView helloWorld() {
- String me = "Hello World, Spring 3.0!";
- //ModelAndView: 包含了試圖要實現的模型資料和邏輯檢視名
- //message 為資料的名稱,在檢視中用來引用的名字
- //me 是對應的值
- //hello 是對應檢視的名字。
- ModelAndView modelAndView = new ModelAndView();