【J2EE】快速搭建 Spring MVC 开发框架(一)

Spring Framework是Java三大框架之一,适用于使用MVC设计模式的项目开发。如何使用Spring框架来进行开发,本文将在一个入门要求上谈论它的搭建过程。


框架介绍

Spring MVC框架中,框架会拦截固定URL的请求,并使用一个Dispatcher Servlet来接受用户该请求,并根据不同的URL或参数映射到不同的控制器或者函数上。 

下图是Spring MVC框架工作流程示意图。


*图片来源http://www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/


框架下载

Spring Framework下载地址:https://github.com/spring-projects/spring-framework/releases/tag/v4.1.6.RELEASE

http://repo.spring.io/libs-release-local/org/springframework/spring/3.2.0.RELEASE/

这里需要注意的是,JDK版本为1.8以下的请选择v3.X,JDK版本为1.8请下载v4.X的Spring框架。否则Spring框架可能无法部署。


环境搭建

1. 进入Eclipse,新建web->dynamic web project。

2. 然后复制粘贴Spring框架lib文件夹中的包到项目中WebContent->WEB-INF->lib文件夹中。根据不同需求可以引用不同的包(作为新手,如果不知道哪些包具有哪些功能,不妨全部复制粘贴引用到项目中)。这里推荐一篇文章,很好的各种包功能总结http://blog.csdn.net/woshisap/article/details/7105255


接下来开始基本的Spring配置文件编辑

首先在WEB-INF文件夹下新建一个web.xml,内容如下

<web-app id="WebApp_ID" version="2.4"
   xmlns="http://java.sun.com/xml/ns/j2ee" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

   <display-name>Spring MVC Application</display-name>

   <servlet>
      <servlet-name>HelloWeb</servlet-name>
      <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
      <servlet-name>HelloWeb</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
 
</web-app>
其中声明了调度servlet对象,名称HelloWeb,类型为org.springframework.web.servlet.DispatcherServlet。然后映射中声明HelloWeb的调度servlet拦截“/”类型的请求,也就是 http://ip:port/ProjectName/的请求。

IP是你的服务器IP,端口为服务器程序端口,ProjectName为你的项目名称,比如我新建的项目叫做SpringWeb,此处就是SpringWeb。


接下来同样位置新建HelloWeb-servlet.xml,HelloWeb要与前边定义的调度servlet同意名称,内容如下

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

	<context:component-scan base-package="controller" />

	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	</bean>

	<mvc:annotation-driven />

</beans>


其中context:component-scan base-package指明了控制器类所在包,此处我们定义web.controller作为报名,之后我们会根据这个名称在src文件下建立package。

<bean>中声明控制器返回值类型为org.springframework.web.servlet.view.InternalResourceViewResolver,对象路径前缀/WEB-INF/jsp/,后缀.jsp。此处作用之后会谈到。


然后我们在WEB-INF文件夹下新建名为jsp的文件夹,于刚刚声明的前缀一致。然后新建JSP页面MyWeb.jsp。随意写入任何内容。

接下来,在src文件夹下新建一个package,名称与之前定义的控制器所在包名一致,为web.controller,然后新建一个java class在其中。

package web.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/Web")
public class MainController {

	@RequestMapping(value="/Test", method=RequestMethod.GET)
	public String returnJSP(){
		return "MyWeb";      //JSP 名字
	}
}
这里我的JAVA类名叫MainController.java,它将作为控制器来对不同URL进行处理。在该类头部声明@Controller标识该类为控制器,然后声明@RequestMapping来表明映射的URL。"/Web"代表如下URL将映射到该类: http://ip:port/ProjectName/Web


在该类中,声明一个方法来对不同URL进行处理。此处声明方法returnJSP(),然后在头部声明对应URL映射为“/Test”,也就是对http://ip:port/ProjectName/Web/Test进行映射。如果此处不声明映射,则访问http://ip:port/ProjectName/Web的GET请求就默认映射到returnJSP()方法。方法中你可以定义自己的逻辑,最后返回字符串类型,此处的返回值就是WEB-INF/jsp文件下的JSP页面名称,前缀后缀都在HelloWeb-servlet.xml中声明,前缀为WEB-INF/jsp/,后最为.jsp,因此Spring框架会自动查找到对应名称的JSP页面并根据你的配置生成JSP的URL发送回浏览器。也就使得前段能够预览你的页面了。


然后一切准备就绪,部署你的项目到tomcat上,输入如下URL查看结果:http://ip:port/ProjectName/Web/Test


如果你看到正确的结果,就可以继续阅读下边的文章了。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值