首页 > 代码库 > SpringMVC基础(一)开发环境搭建

SpringMVC基础(一)开发环境搭建

SpringMVC 是一种基于java实现了web mvc设计模式的请求驱动类型的轻量级web框架,将web层进行职责解耦。


一、环境配置


1.spring-framework 3.2.0 版本

2. 依赖jar包:将以下的jar包拷贝到WEB-INF/lib目录下

技术分享


3. 辅助jar包:

    commons-logging.jar(日志输出)

    标签库支持:Jstl.jar、Standard-1.1.2.jar 


二、HelloWorld 实例


1. 前端控制器的配置(web.xml)

 <servlet >
  	<servlet-name>springMVC</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 
			下方classpath后面有个*号是表示会加载所有在classpath路径下的后面指定的文件、不配置的话只会加载一个。
			在大型项目开发中、一般都是以模块来开发、各个小组都有自己的配置文件、这样既具有独立性又容易管理。
		-->
		
  		<init-param>
  			<param-name>contextConfigLocation</param-name>
  			<param-value>classpath*:config/springMVC-servlet.xml</param-value>
  		</init-param>  	
  	<load-on-startup>1</load-on-startup>  	
  </servlet>
  <servlet-mapping>
  	<servlet-name>springMVC</servlet-name>
  	<url-pattern>/</url-pattern>  	
  </servlet-mapping>
</web-app>

  • load-on-startup:表示启动容器时初始化该Servlet; 
  • url-pattern:表示哪些请求交给Spring Web MVC处理,“/”是用来定义默认servlet映射的。 也可以加“*、html”表示拦截所有html为扩展名的请求。 


接下来我们需要配置Spring的配置文件,默认DispatcherServlet会加载WEB-INF/DispatcherServlet的Servlet名字-servlet.xml配置文件。


2. springMVC-servlet.xml文件

    springMVC-servlet这个名字是因为上面web.xml中<servlet-name>标签配的值为springMVC(<servlet-name>springMVC</servlet-name>),再加上“-servlet”后缀而形成的springMVC-servlet.xml文件名.


<!-- 配置如何找到视图,name,代表路径 class 配置视图 -->
<bean name="/test/helloworld" class="com.tgb.web.controller.HelloWorldController" />
<!-- 配置视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	
	<property name="prefix" value=http://www.mamicode.com/"/">>


  • InternalResourceViewResolver : 用于支持Servlet、JSP视图解析
  • prefix和suffix : 对转向页面的路径解析。prefix:前缀, suffix:后缀


3. 创建Controller 


public class HelloWorldController implements Controller {

	@Override
	public ModelAndView handleRequest(HttpServletRequest arg0,
			HttpServletResponse arg1) throws Exception {
		
			System.out.println("Hello ,Beautiful Girl!");
			//第一种方式传递字符串
			//String hello="Hello ,Beautiful Girl!";
			//第一种方式,返回字符串
			//return new ModelAndView("/welcome","result",hello);
			
			//第二种方式传递map数据类型
			Map<String,Object> map = new HashMap<String,Object>();
			//给map赋值
			map.put("map1", "提高班1");
			map.put("map2", "提高班2");
			map.put("map3", "提高班3");
			
			return new ModelAndView("/welcome","map",map);
	}
			

}

4. 创建 jsp页面

<body>
		你们好!
		<br>
		<h>传递数据</h>
		${result}		
		<div>			
			<c:forEach items="${map }" var="m">
				${m.key }--> ${m.value }
			</c:forEach>
		</div>			
		
</body>
</html>

通过这个实例,我们来总结一下SpringMVC的一点点流程。


SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,即在web.xml文件中配置。DispatcherServlet负责转发每一个Request请求给相应的Handler,即我们的controller页面控制器。 Handler处理以后再返回相应的视图(View)和模型(Model),返回的视图和模型都可以不指定,即可以只返回Model或只返回View或都不返回。


SpringMVC基础(一)开发环境搭建