å¨æä½åéè¦äºè§£çç¥è¯ï¼
- Spring mvcæ¯ä¸ä¸ªå å«äºDispatcher servletçMVCæ¡æ¶ãä»è°ç¨æ§å¶å¨æ¹æ³å¹¶è½¬åè§å¾ã
- Controller使ç¨æ³¨è§£ï¼annotationï¼çæ¹å¼è¿è¡é ç½®ã
- Spring使ç¨æ«æçæºå¶æ¥æ¾å°åºç¨ç¨åºä¸ææåºäºæ³¨è§£çæ§å¶å¨ã
- 为äºç¡®ä¿å·¥ç¨ä¸ææçjspæ件ä¸è¢«ç¨æ·ç´æ¥è®¿é®å°ï¼å æ¤å·¥ç¨ä¸çjspä¸è¬ä¸ç´æ¥æ¾å¨webappç®å½ä¸ï¼èæ¯æ¾ç½®å¨webapp/WEB-INFä¸ã
Controllerçå ·ä½é ç½®è¿ç¨ï¼
ï¼1ï¼åå¤æä½ã
å¨webapp/WEB-INFç®å½ä¸å建configï¼åæ¾é ç½®æ件ï¼åviewï¼åæ¾jspæ件ï¼æ件夹ãå¨ src/main/javaç®å½ä¸å建controllerå ï¼åæ¾æ§å¶å¨ç±»ï¼ã
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiQ3chVEa0V3bT9CX5RXa2Fmcn9CXwczLcVmds92czlGZvwVP9EUTDZ0aRJkSwk0LcxGbpZ2LcBDM08CXlpXazRnbvZ2LcRlMMVDT2EWNvwFdu9mZvwleFpXT51ERPJTT6hVdsdUZwZlMkZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jN2UTN0ADN0ETMxETM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
ï¼2ï¼å¨web.xmlä¸é ç½®DispatcherServletã
æå¼web.xmlæ件ï¼å¨< web-app >æ ç¾å è¾å ¥ä»¥ä¸å 容ã
<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/config/spring-mvc-servlet.xml
</param-value>
</init-param>
<load-on-startup></load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
以ä¸é ç½®åºè¯¥æ³¨æçå ç¹ï¼
- 以ä¸é 置为æ¬webå·¥ç¨æ·»å äºSpring MVCçDispatcher Servletï¼è¿ä¸ªservletéç¨æ«æå°URL转åå°ç¸åºçControllerä¸ã
- servletåservlet-mappingä¸çservlet-nameå¿ é¡»ä¿æä¸è´ã
- init-paramä¸çcontextConfigLocationåæ°æåºäºæ¬å·¥ç¨çspring mvcé ç½®æ件æå¨çç®å½ï¼å¦æä¸é 置该åæ°ï¼spring mvcé ç½®æ件çé»è®¤è·¯å¾ä¸º/WEB-INFä¸ã
- spring mvcé ç½®æ件çå称为ä¸é¢web.xmlä¸< servlet-name >æ ç¾é çå¼å¨å ä¸â-servlet.xmlâç»æã
- url-pattren表示该servletå°è¦æ¦æªå¹¶è½¬åçurlçå½¢å¼ãâ/â表示æ¦æªææurlã
ï¼3ï¼Spring MVCé ç½®æ件
/WEB-INF/configç®å½ä¸å建spring-mvc-servlet.xmlæ件ãï¼å ·ä½çå建ä½ç½®ç±web.xmlä¸servletçcontextConfigLocationå³å®ï¼ãå该xmlæ件ä¸æ·»å ä¸é¢ä¿¡æ¯ã
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- å¯ç¨spring mvc注解 -->
<context:annotation-config />
<!-- 设置使ç¨æ³¨è§£çç±»æå¨çå
ï¼å³Dispatcherservlet寻æ¾controlleræ¶æ«æçå
-->
<context:component-scan base-package="controller" />
<!-- 对å¤çç»ææ转åç页é¢è¿è¡è§£æ -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
以ä¸é ç½®æ件åºæ³¨æçå ç¹ï¼
- xmlnsç¨æ¥æ è¯å ³äºåå§åbeançæ ¼å¼æ件å°åï¼xmlns:xsiç¨æ¥æ è¯è¾ å©åå§åbeançæ ¼å¼æ件å°åï¼xsi:contextï¼å ³äºspringä¸ä¸æï¼å æ¬å è½½èµæºæ件ã
- InternalResourceViewResovleræ¯å¸¸ç¨çè§å¾è§£æå¨ï¼å¦æControllerè¿åçæ¯indexï¼é£ä¹éè¿è§å¾è§£æå¨è§£æä¹åçè§å¾å°±æ¯/WEB-INF/view/index.jspã
ï¼3ï¼ç¼åcontrollerç±»æ件
å¨src/mian/controlleræ件夹ä¸å建FisetControllerç±»ã
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class FirstController {
@RequestMapping("index")
public String Index() {
return "index";
}
}
ï¼4ï¼ç¼åindex.jsp
å¨/WEB-INF/VIEWæ件夹ä¸å建index.jspï¼å¨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>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
My First Controller.
</body>
</html>
ï¼6ï¼å¨Package Explorerä¸å³å»å·¥ç¨åï¼ä¾æ¬¡éæ© run as -> run on serverï¼ç¶åéæ©tomcatæå¡å¨ãæå¼æµè§å¨ï¼è¾å ¥http://localhost:8080/test/indexå³å¯è®¿é®index页é¢ã