Spring-mvc学习心得(一)

Sun JDK1.6.0_13 ; MyEslipse10 ; Tomcat ; 谷歌浏览器 ; 

本次操作将用springmvc通过输入网址,返回所需的网页,并在控制台打印输出信息(使用注解的方式)

网页输出:

Spring-mvc学习心得(一)_第1张图片

控制台打印:

 

建立Springmvc框架,需如下步骤:

1. 导入所需jar包

1.1 导入spring以及springmvc所需jar包

spring所需jar包 百度网盘链接:spring-framework-3.2.13.RELEASE-dist.zip

最少需要导入如下6个jar包:

  spring-beans-3.2.13.RELEASE.jar

  spring-context-3.2.13.RELEASE.jar

  spring-core-3.2.13.RELEASE.jar

  spring-expression-3.2.13.RELEASE.jar

  spring-web-3.2.13.RELEASE.jar

  spring-webmvc-3.2.13.RELEASE.jar

jar包在压缩包解压后 spring-framework-3.2.13.RELEASE-dist文件夹 > spring-framework-3.2.13.RELEASE文件夹 > libs文件夹下寻找,将jar包复制到web项目中WebRoot > WEB-INF lib文件夹下

1.2 导入日志文件所需jar包

log4j所需jar包 百度网盘链接:log4j所需jar包

将日志压缩包里的4个jar包复制到web项目中WebRoot > WEB-INF lib文件夹下,然后在web项目下创建resources目录(Source Folder),将log4j.properties文件复制到resources文件夹下,此为log4j配置文件,备用

选中WebRoot > WEB-INF lib文件夹下所有jar包,右击Build Path > Configure Build Path...

导入jar包步骤完成

 

2. 配置web.xml

springmvc也是一种servlet,所以需要通过配置web.xml文件,让项目去识别springmvc

打开WebRoot > WEB-INF 文件夹下的web.xml文件

然后我配置的代码如下,会在代码中进行分析:



  	
  
    index.jsp
  
  
  
  
  
  
  	
  	springmvc
  	
  	
  		org.springframework.web.servlet.DispatcherServlet
  	
  	
  	
  		contextConfigLocation
  		classpath:springmvc-servlet.xml
  	
  	
  	1
  
  
  
  
  	springmvc
  	
  	/
  

这段配置信息的作用是,在spring的容器启动的时候就加载这个springmvc,然后在有请求出现时,截获所有请求,交给springmvc-servlet.xml文件配置的controller(控制器)去处理,后面会涉及到,此处不做详解。

 

3. 下边我们开始编写springmvc-servlet.xml配置文件。

(1) 首先创建一个xml文件,在resources目录下右击New > File,命名为springmvc-servlet.xml。

(2) 在文件中导入头部约束配置,打开下载的spring压缩包文件夹,在以下路径:spring-framework-3.2.13.RELEASE-dist\spring-framework-3.2.13.RELEASE\docs\spring-framework-reference\html文件夹下,搜索文件mvc.html并用浏览器打开。在17.3.1下或Ctrl+F搜索关键词"17.3.1",这个目录下的代码片段,复制如下部分粘贴到springmvc-servlet.xml中




然后,再在mvc.html网页中搜索"xmlns:mvc",将定位到的代码中的如下代码插入上述代码中,按上述代码格式插入(后面有完整代码):

xmlns:mvc="http://www.springframework.org/schema/mvc"
http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd

此时头部约束完成,我们开始编写配置文件。

(3) 此例中完整的springmvc-serlvet.xml配置文件如下(使用注解的方式):




	
	
	
	

	
	
		
		
		
		
	
        

:会自动注册RequestMappingHandlerMapping与RequestMappingHandlerAdapter两个Bean,这是Spring MVC为@Controller分发请求所必需的,并且提供了数据绑定支持。

 

4. 编写controller(控制器)

新建一个类MyController,所在包com.zb.controller下,代码如下:

package com.zb.controller;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class MyController {
	
	private Logger logger = Logger.getLogger(MyController.class);
	
	@RequestMapping("/welcome")
	public ModelAndView index(){
		logger.info("Hello,springmvc!");
		return new ModelAndView("index");
	}
}

@Controller:让springmvc-servlet.xml中的扫描到,并将此类识别为controller(控制器),并自动注册

@RequestMapping("/welcome"):此注解的作用为,将“/welcome”的请求识别并定位用此方法处理请求,使此次注解可以在这个类中写很多的处理方法,只要用此注解加以标示,就可以分清,不必要定义n多个类

logger.info("Hello,springmvc!"); : 在控制台打印日志,用来让我们知道程序运行到此方法

return new ModelAndView("index"); :此处直接返回字符串“index”,用于url拼接,寻找此将jsp页面

 

5. 发布运行

最后在项目目录/WEB-INF/下建立文件夹jsp,在jsp中建立名为index的jsp页面。完成最终编写

本例使用Tomcat,发布细节在此不再赘述。运行结果如本文开头所示。

本例使用的是注解的方式扫描controller,还有手动编写 配置处理器映射 HandlerMapping 标签的方式:


而controller的编写如下:

package com.zb.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class MyController extends AbstractController {

	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
			HttpServletResponse arg1) throws Exception {
		// TODO Auto-generated method stub
		return new ModelAndView("index");
	}
}

此类方式,一句映射对应一个controller,在映射较多的情况下将非常繁琐,所以常用注解的方式

 

 

你可能感兴趣的:(框架)