注解:在Spring中尽管使用XML配置文件可以实现Bean的装配工作,但如果应用中Bean的数量较多,会导致XML配置文件过于臃肿,从而给维护和升级带来一定的困难。从JDK5开始提供了名为Annotation(注解)的功能,Spring正是利用这一特性,Spring逐步完善对Annotation注解技术的全面支持,使XML配置文件不再臃肿,向“零配置”迈进。
Spring框架也为表示层提供了一个优秀的Web框架,即SpringMVC。由于SpringMVC采用了松耦合可插拔组件结构,比其他MVC框架具有更大的扩展性和灵活性。通过注解,SpringMVC使得POJO成为处理用户请求的控制器,无需实现任何接口。
壹:注解说明
Spring中定义了一系列的Annotation注解,如下所示:
贰:实现注解定义控制器与请求映射
一:使用controller
org.springframework.stereotype.Controller注解类型用于指示Spring类的实例是一个控制器,其注解形式为
Controller。该注解在使用时不需要再实现Controller接口,只需要将Controller注解加入到控制器类上,然后通过Spring的扫描机制找到标注了该注解的控制器即可。我们常用的rest风格请求(REST:即RepresentationalStateTransfer。(资源)表现层状态转化):
二:配置包扫描与视图解析器
1、配置包扫描
虽然哦我们已经i邪恶好了controller,但是直接这样写我们是不能用的,还需要在
spring-mvc.xml
配置文件中,用spring的包扫描将他注入到容器中,我们才能实现调用。
2、配置视图解析器
SpringMVC中的视图解析器的主要作用就是将逻辑视图转换成用户可以看到的物理视图。在spring-mvc.xml加入视图解析器,其中的前缀就是根据自己的文件存放目录来写,后缀就是你的文件的后缀名,你可以是.jsp、.html等等。
三:配置部署描述符
DeploymentDescriptors(描述符)是一个xml文件,用来描述如何部署一个模块或者应用(根据描述符中定义的配置和容器选项)。
在这里简单来说就是我们的web.xml。
1、读取spring-mvc.xml文件
虽然,我们已经把controller通过spring-mvc.xml注入到容器中,相信这时你启动项目时,是访问不了的controller的请求的,也就是说,我们的我没在配置该文件,这时候在你的web.xml中加入。
如果我们不指定SpringMVC配置文件的路径,则会自动到WEB-INF下找‘‘前端控制器名-servlet.xml’’这个文件,如果找不到则会报错。
2、配置匹配映射
servlet:它提供静态资源。它处理所有未映射到其他带有servlet映射的servlet(在这里或在您自己的-web.xml文件)。
servlet-mapping:当为静态资源提供服务时,Tomcat将自动生成基于资源文件扩展名的“ContentType”头,基于这些映射。可以在此处添加其他映射(到应用于所有web应用程序),或在您自己的应用程序的web.xml中部署描述符。
四:建立html文件
新建两个文件,用于访问测试,一个index.html,写一个连接指向href=“helloWorld”,写另一个hello.html,用于访问成功后,跳转到该页面。
叁:配置tomcat
在这里,作者摸索到了两种配置tomcat的方法,一种就是本地自个的tomcat,还有一种就是maven提供的tomcat容器。
一:配置本地tomcat
基本上就是这几步,其中的选择tomcat目录省略了,不是很难,添加服务就可以,找不到入口就算了,请不要打我。如果你配置tomcat也不会,那么,现在放下电脑去打把王者荣耀吧,妲己可能会告诉你。
二:配置maven内置tomcat
配置maven的tomcat相对会麻烦一点,不过也不是很麻烦,在你的pom.xml文件中加入一下插件依赖。
然后,添加配置,需要注意的是,你需要配置你的maven,在下图的General里面,如果你已经使用了maven,就不用配了,可以查看General下配置是否正确。
安装与配置maven:传送门
接下来你就可以启动你的项目了,祝你能够一步成功,哈哈哈哈。
肆:结果及问题
一:tomcat启动示意图:
本地tomcat:
maven内置tomcat:
二:结果
首页:
死案及后跳转:
三:问题
1、解决SpringMVC不能访问html页面
2、使用maven内置tomcat有时能跳转,有时不能跳转,不能跳转的时候他会卡在读取文件这里,这里对不起了,笔者没找到解决方法,如果你找到了,欢迎告诉笔者。
伍:结构及源码
源码都放出来了,还不是ctrl+c,ctrl+v一顿乱搞。
一:目录结构
二:源码
1、controller
2、spring-mvc.xml
3、web.xml
4、pom.xml
5、html