本次博客,属于练手博客。以SSM框架使用为开端。
关于springmvc和struts2的对比,已经很不新鲜。由于spring本身的强大,springmvc越来越流行。入门的话,我们可以理解为,使用springmvc就是来代替servlet的。当然,如果你没学过servlet的话,也不要紧。
我们不介绍springmvc的原理,直接从搭建开始
java web框架学习,搭建环境一般分为3步 :导入jar包 /编写框架的配置文件 /在web.xml配置框架入口
1:jar包的导入:我提供ssm基础使用的全部jar包,大家可以在这里下载。
https://pan.baidu.com/s/1nuH9DgP
下载 后把jar包放入WEB-INF/lib下。如果有必要的话,在eclipse中还要在build path里导入这些jar包。
2:框架的配置文件编写:
springmvc的配置文件,在开始学习的时候可以放在src目录下。命名是自定义的。我一般命作spring-mvc.xml。下面是全部代码
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<!-- 启动SpringMVC的注解功能 -->
<context:annotation-config />
<!-- 声命扫描路径 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->
<!-- 规定那些类作为springMVC的Controller类来管理 -->
<context:component-scan base-package="com.controller">
<context:include-filter expression="org.springframework.stereotype.Controller"
type="annotation" />
</context:component-scan>
<!-- 定义跳转的文件的前后缀 ,视图模式配置 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 这里的配置我的理解是自动给后面control的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->
<property name="prefix" value="/" /> <!-- prefix执行路径的前缀 -->
<property name="suffix" value=".jsp" /> <!-- suffix执行路径的后缀 -->
</bean>
</beans>
上面的代码中:<context:annotation-config /> 简化了以前springmvc的配置。他会自动启动一些必要的功能。具体大家可以搜索下ontext:annotation-config /> 。这些配置几乎是springmvc最简单的一个配置了。后面有什么功能需要加入的话。我们再慢慢加起来。对于一个框架来说,搭建起来是初学者比较头疼的一件事情。
3:在web.xml中加入springmvc的入口配置
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- 这里是指定配置文件的名字 -->
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<!-- *.do 只会拦截.do结尾的地址, -->
<url-pattern>*.do</url-pattern>
</servlet-mapping>
上面的配置中:classpath:spring-mvc.xml 会去寻找WEB-INF/classes下的文件。而我们之前把spring-mvc.xml建议放在src下。eclipse默认编译后,发布项目会把spring-mvc.xml发布到WEB-INF/classes下。*.do的配置,会拦截所有以.do为结尾的url地址进入到springmvc的控制范围内。注意的话你会发现,springmvc的入口就是一个servlet。
到此为止最简单的环境已经搭建完毕。接下来我们该使用这个框架。不同框架的使用方式区别甚大。