您的位置:首页 > 编程语言 > Java开发

Spring MVC第一个简单配置实例

2013-08-12 17:19 393 查看
出于最近开发需求,需要使用SpringMvc框架,遂配置了一把,整个过程很方便,记录下来仅供需要的人参考。

1.下载SpringMvc,下载地址:http://www.springsource.org/download/community?project=Spring%2520Framework。选择最新最稳定的3.2.4.RELEASE版本。(使用SpringMvc需同时下载dist包和依赖包,但自从spring-framework-3.0.2后spring已经不提供依赖包下载了,实际上真正部署的时候,dist包就够了,spring只依赖很少的几个jar包,而spring老版本之前提供的依赖包有100多M,里面各种实现,90%的包我们都用不到,我们手动下载jar即可)

2.下载SpringMvc的依赖包,jstl.jar,standard.jar,commons-logging.jar。前面两个是JSTL表达式需要的(如果不使用JSTL,可以不下载),后面一个是日志需要的。也就是说,实际上SpringMVC只依赖一个包。都可以在MVN的仓库里找到。

3.EclipseEE里新建一个DynamicWebproject,项目名输入“Springmvc”,其它的你懂的;

4.把jar包拷贝到lib文件夹,把第一步下载的dist包里lib下的jar和第二步下载来的三个依赖jar包都拷贝到此工程的lib目录下(当然了,建议用buildpath管理更规范,这里只是方便了事)。注意:拷贝dist下的jar时,只需要拷贝二进制jar包,不要拷贝javadoc和source包,当然如果你明白自己在做什么并且需要的话,也可以拷贝来。里面那么多jar包,拷哪些呢?偷懒的话就全部拷贝,有点追求的的话,拷贝下面几个就够了:

spring-aop-3.2.4.RELEASE.jar

spring-aspects-3.2.4.RELEASE.jar

spring-beans-3.2.4.RELEASE.jar

spring-context-3.2.4.RELEASE.jar

spring-core-3.2.4.RELEASE.jar

spring-expression-3.2.4.RELEASE.jar

spring-jdbc-3.2.4.RELEASE.jar

spring-tx-3.2.4.RELEASE.jar

spring-web-3.2.4.RELEASE.jar

spring-webmvc-3.2.4.RELEASE.jar

有些包,可能现在用不上,但后期可能有用,10个包也不多,就留着吧。早一点的版本的话,有洁癖的话,只需要拷贝两个jar包即可,但后期又麻烦了。加上之前的三个依赖jar包,总共13个包,也就5M左右。





5.新建web.xml,这个是所有J2EE的标配,不再细说。

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID"version="2.5">

<display-name>Springmvc</display-name>

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>index.htm</welcome-file>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

<servlet>

<servlet-name>springmvc</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>springmvc</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

</web-app>


6.配置springmvc-servlet.xml(此处springmvc-servlet这个名字是因为上面web.xml中<servlet-name>标签配的值为springmvc(<servlet-name>springmvc</servlet-name>),再加上“-servlet”后缀而形成的springmvc-servlet.xml文件名,如果改为springMVC,对应的文件名则为springMVC-servlet.xml)

内容如下:

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="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/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

<beanname="/hello_world.do"class="com.zhurou.controller.HelloWorldController"/>

<beanid="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<propertyname="viewClass"value="org.springframework.web.servlet.view.JstlView"/>

<propertyname="prefix"value="/WEB-INF/jsp/"/>

<propertyname="suffix"value=".jsp"/>

</bean>

</beans>

在这个文件里,<beanname="/hello_world.do"class="com.zhurou.controller.HelloWorldController"/>配置的就是url和controller的映射关系。viewResolver里配置是视图的路径和映射关系。

7.编写前端控制器,com.zhurou.controller.HelloWorldController类如下:

packagecom.zhurou.controller;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importorg.springframework.web.servlet.ModelAndView;

importorg.springframework.web.servlet.mvc.Controller;

publicclassHelloWorldControllerimplementsController{

@Override

publicModelAndViewhandleRequest(HttpServletRequestarg0,

HttpServletResponsearg1)throwsException{

StringaMessage="HelloWorldMVC!";

ModelAndViewmodelAndView=newModelAndView("hello_world");

modelAndView.addObject("message",aMessage);

returnmodelAndView;

}

}


8.编写视图文件,在jsp目录下建立hello_world.jsp,这个文件名是和controller里的newModelAndView("hello_world")对应的。

<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">

<title>Springmvcdemo</title>

</head>

<body>

<p>Thisismymessage:${message}</p>

</body>

</html>



9.访问地址:http://localhost:8080/Springmvc/hello_world.do,在tomcat里的配置就不说了。
其实整个过程很简单,也就不到10分钟而已。很多黑Java的人都说JavaEE部署困难,这些都是没追求的低级黑而已。之所以这么配置buildpath,tomcat,只是因为有追求而已。如果你没有追求的话,也可以直接扔到tomcat的webapps目录下,一分钟即部署完毕,就像PHP那样,直接一扔某个目录。有追求的Java/PHP程序员都会配置tomcat,apache,nginx,而不是简单一扔了事。还有一点需要说明的是,springMVC的特色是注解,但我这里用的是XML的方法,用注解更简单。



(1)在springmvc-servlet.xml里增加下面的两行:

<!--自动检测注解-->

<context:component-scanbase-package="com.zhurou.controller"/>

<mvc:annotation-driven/>


(2)写一个使用注解的控制器

packagecom.zhurou.controller;

importorg.springframework.stereotype.Controller;

importorg.springframework.web.bind.annotation.RequestMapping;

importorg.springframework.web.servlet.ModelAndView;

@Controller

@RequestMapping("/hello")

publicclassAnnoController{

@RequestMapping("/say")

publicModelAndViewhello(){

ModelAndViewmodel=newModelAndView("hello_world");

//将参数带回页面

model.addObject("message","AnnoController");

returnmodel;

}

}


访问下面的地址即可:http://localhost:8080/Springmvc/hello/say.do

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: