web.xml配置文件
<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> 复制代码
控制器
@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页面
<a href="hello">Hello Spring</a> 复制代码
success页面
<h2>欢迎来到成功页面</h2> ${hello} 复制代码
还有一个注意点:就是success页面显示了${hello},说明解析不了el表达式。加上下面这句就可以了
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> 复制代码
他有四个参数,分别是value,method,params,headers。
通配符也有四个,分别是 ? ,* ,** ,{ };
控制器
@RequestMapping("hello/a?c/test") public String Hello(Model model) { model.addAttribute("abc", "spring mvc hello"); return "success"; } 复制代码
index
<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> 复制代码