web.xml配置文件html
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--映射springMVC配置-->
<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>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
複製代碼
springmvc.xml前端
<!--配置自動掃描器,掃描有控制器的包-->
<context:component-scan base-package="com.haiyang.web.servlet" />
<!--配置根視圖,就是首頁-->
<mvc:view-controller path="/" view-name="index"/>
<!--配置視圖解析器,用於將返回的字符串渲染視圖-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--渲染視圖的前綴-->
<property name="prefix" value="/views/"/>
<!--渲染視圖的後綴-->
<property name="suffix" value=".jsp"/>
</bean>
複製代碼
控制器java
@Controller //聲明這個類是個控制器
public class hello {
@RequestMapping(value = "hello")//對前端hello的請求進行處理
public String HelloWorld(Model model) {
//經過model將咱們要輸入的值放入域中
model.addAttribute("hello", "spring mvc hello world");
//返回要跳轉的頁面,會經過springmvc.xml中的視圖解析器進行處理
//給返回的字符串加上前綴和後綴 例:/views/success.jsp
return "success";
}
複製代碼
index頁面web
<a href="hello">Hello Spring</a>
複製代碼
success頁面spring
<h2>歡迎來到成功頁面</h2>
${hello}
複製代碼
還有一個注意點:就是success頁面顯示了${hello},說明解析不了el表達式。加上下面這句就能夠了mvc
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
複製代碼
他有四個參數,分別是value,method,params,headers。app
通配符也有四個,分別是 ? ,* ,** ,{ };jsp
控制器url
@RequestMapping("hello/a?c/test")
public String Hello(Model model) {
model.addAttribute("abc", "spring mvc hello");
return "success";
}
複製代碼
indexspa
<a href="hello/abc/test">Hello Spring1</a>
複製代碼
控制器
@RequestMapping("hello2/*/test")
public String Hello2(Model model) {
model.addAttribute("abc", "spring mvc hello");
return "success";
}
複製代碼
index
<a href="hello2/gfdsgfdsg/test">Hello Spring2</a>
複製代碼
控制器
@RequestMapping("hello3/**/test")
public String Hello3(Model model) {
model.addAttribute("abc", "spring mvc hello");
return "success";
}
複製代碼
index
<a href="hello3/abc/safd/sfdsf/eee/test">Hello Spring3</a>
複製代碼
控制器
@RequestMapping("hello4/{name}")
public String Hello4(@PathVariable("name") String name) {
System.out.println(name);
return "success";
}
複製代碼
index
<a href="hello4/zs">Hello Spring4</a>
複製代碼