上个教程中,其实我们创建的项目存在明显的问题,不知道大家是否还记得我的操作过程,忘记的伙伴可以重新查看下教程【SpringMVC-001】idea创建SpringMVC项目傻瓜教程
【SpringMVC-001】中,我们的controller是这么写的:
public class WelcomeController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
//System.out.println("welcome");
return new ModelAndView("welcome");
}
}
可以发现,如果用户想进行增删改查的操作,在函数handleRequest(*,*)中是非常的麻烦,也就是说,这么方式是不会使用的,太他妈麻烦,现在一般都是选择使用annotation的方式。
对于HandlerMapping(处理器映射器),相关类之间的关系先上张图看看吧。
其中DefaultAnnotationHandlerMapping是使用较为频繁的类。
现在开始我们项目的升级吧。还是基于【SpringMVC-001】的代码,具体的结构在其中都讲过了,这里我们不在赘述,直接上关键代码。
【1】修改dispatcher-servlet.xml文件,此文件路径为:WEB-INF\dispatcher-servlet.xml,添加下面的代码,注意,有要倒入一些包,idea有个快捷键Alt+Enter,就自动导入了。
<context:component-scan base-package="com.test.controller"/>
<!-- 开启注解 -->
<mvc:annotation-driven/>
好了,有了上面的代码,就可以使用annotation了。
【2】好了,重新在controller包下创建一个class,名字为:TestController。代码如下:
package com.test.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* Created by: zs
* Date-Time: 2017/8/9 21:51
*/
@Controller
public class TestController {
//RequestMapping表示使用哪个URL来对应
@RequestMapping({"/test","/"})
public String test(){
System.out.println("I Love China!");
return "test";//test对应WEB-INF/jsp
}
}
【3】开始创建test文件,在WEB-INF/jsp/下。
添加代码如下:
<h1>我爱祖国!!</h>
【4】最后,看下项目结构吧。
【5】对于tomcat的配置过程,这里我们就不在说了,忘记了,可以参考【SpringMVC-001】的内容。
【6】运行程序,在浏览器输入网址:http://localhost:8080/test
就可以看到我爱祖国的界面了!