SpringMVC的配置和使用

什么是SpringMVC?

SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!它用在基于MVC的表现层开发,类似于struts2框架

导入开发包

前6个是Spring的核心功能包【IOC】,第7个是关于web的包,第8个是SpringMVC包

  • org.springframework.context-3.0.5.RELEASE.jar
  • org.springframework.expression-3.0.5.RELEASE.jar
  • org.springframework.core-3.0.5.RELEASE.jar
  • org.springframework.beans-3.0.5.RELEASE.jar
  • org.springframework.asm-3.0.5.RELEASE.jar
  • commons-logging.jar
  • org.springframework.web-3.0.5.RELEASE.jar
  • org.springframework.web.servlet-3.0.5.RELEASE.jar

编写Action

Action实现Controller接口

public class HelloAction implements Controller {
@Override
public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {
return null;
}
}

  

我们只要实现handleRequest方法即可,该方法已经说了request和response对象给我们用了。这是我们非常熟悉的request和response对象。然而该方法返回的是ModelAndView这么一个对象,这是和Struts2不同的。Struts2返回的是字符串,而SpringMVC返回的是ModelAndView

ModelAndView其实他就是将我们的视图路径和数据封装起来而已【我们想要跳转到哪,把什么数据存到request域中,设置这个对象的属性就行了

public class HelloAction implements Controller {
@Override
public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {
ModelAndView modelAndView = new ModelAndView();
//跳转到hello.jsp页面。
modelAndView.setViewName("/hello.jsp");
return modelAndView;
}
}

  

注册核心控制器

在Struts2中,我们想要使用Struts2的功能,那么就得在web.xml文件中配置过滤器。而我们使用SpringMVC的话,我们是在web.xml中配置核心控制器

<!-- 注册springmvc框架核心控制器 -->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--到类目录下寻找我们的配置文件-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:hello.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<!--映射的路径为.action-->
<url-pattern>*.action</url-pattern>
</servlet-mapping>

  

创建SpringMVC控制器

我们在hello.xml配置文件中把SpringMVC的控制器创建出来

<!--
注册控制器
name属性的值表示的是请求的路径【也就是说,当用户请求到/helloAction时,就交由HelloAction类进行处理】
-->
<bean class="HelloAction" name="/hello.action"></bean>

  

访问

当我们在浏览器访问http://localhost:8080/hello.action的时候,Spring会读取到我们的访问路径,然后对比一下我们的配置文件中是否有配置/hello.action,如果有。那么就交由对应的Action类来进行处理。Action类的业务方法将其请求输出到hello.jsp页面上。


SpringMVC的配置和使用的更多相关文章

  1. SpringMVC、SpringMVC XML配置(纯XML方式)

    1.引入SrpingMVC所使用的Java包: cglib-nodep-2.1_3.jar.commons-logging.jar.spring-aspects-4.1.7.RELEASE.jar.s ...

  2. Springmvc中配置Quartz使用,实现任务实时调度。

    菜鸡的自我修炼,第一次接触quartz,做个记录.-------jstarseven 最近在项目中,第一次在springmvc中配置实用quartz,深刻的感受到quartz带来的方便,顺手做个记录. ...

  3. springMVC+Hibernate配置

    本文描述下 sypro 项目中使用 springMVC+Hibernate配置,初学SpringMVC做下简单整理解. 1.web项目首先我们要使用 web.xml文件将 spring配置引入进来 & ...

  4. SpringMVC简单配置

    SpringMVC简单配置 一.eclipse安装Spring插件 打开help下的Install New Software 点击add,location中输入http://dist.springso ...

  5. Idea简单SpringMVC框架配置

    前边已经介绍过了Struts在Idea上的配置,相对于Struts来说,我觉得SpringMVC有更多的优势,首先Struts是需要对action进行配置,页面发送不同的请求,就需要配置不同的acti ...

  6. SpringMVC常用配置(二),最简洁的配置实现文件上传

    Spring.SpringMVC持续介绍中,基础配置前面已经介绍了很多,如果小伙伴们还不熟悉可以参考这几篇文章: 1.Spring基础配置 2.Spring常用配置 3.Spring常用配置(二) 4 ...

  7. SpringMVC常用配置

    关于Spring.SpringMVC我们前面几篇博客都介绍了很多,但是还不够,这些框架中涉及到的注解.配置非常多,那么我们今天再来介绍一个SpringMVC的基本配置,灵活的使用这些配置,可以让我们在 ...

  8. SpringMVC基础配置(通过注解配置,非xml配置)

    SpringMVC是什么,有多火,我这里就不再啰嗦了,SpringMVC比Struts2好用太多,我在学校的时候私下里两种都接触过,对比之后果断选择了SpringMVC,后来在做Android应用开发 ...

  9. maven+springmvc的配置

    1. 首先创建1个mavenweb项目  如果没有的话最好是去官网下载一个最新版本的eclipse  里面什么都有 maven/gradle 啥的 2. 选择路径   没啥影响 就是一个路径 默认就行 ...

随机推荐

  1. Timeline高级扩展

    转载于http://forum.china.unity3d.com/thread-32200-1-1.html通过demo讲解了timeline更加复杂的使用方式 Timeline是创建过场动画和影片 ...

  2. TensorFlow object detection API

    cloud执行:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_pet ...

  3. 高可用Redis(九):Redis Sentinel

    1.主从复制高可用的问题 主从复制高可用的作用 1.为master提供备份,当master宕机时,slave有完整的备份数据 2.对master实现分流,实现读写分离 但是主从架构有一个问题 1.如果 ...

  4. matlab 写文件

    fid = fopen('data.txt','w');for oo=1:1:i if mod(oo,10) == 0 fprintf(fid,'%f,%f,\n',sI1(oo),sQ1(oo)); ...

  5. Java练习2

    1 编写一个应用程序,模拟机动车的加速和减速功能.机动车类Vehicle的UML图如下,其中speedUp()方法实现加速功能,速度上限为240 km/h:speedDown()实现降速功能,下限为0 ...

  6. 物联网框架ServerSuperIO.Core(.netcore)跨平台,一套设备驱动通吃嵌入式、上位机、云服务

    1.      概述... 2 2.      ServerSuperIO.Core跨平台开发环境... 2 3.      ServerSuperIO.Core特点... 2 4.      Ser ...

  7. James Munkres Topology: Sec 22 Example 1

    Example 1 Let \(X\) be the subspace \([0,1]\cup[2,3]\) of \(\mathbb{R}\), and let \(Y\) be the subsp ...

  8. python序列化与反序列

    python序列化与反序列 在python中提供了两个模块可进行序列化.分别是pickle和json.他们两者的功能都差不多,dumps和dump都是进行序列化,而loads和load则是反序列化. ...

  9. Linux的vim编辑器

    vim编辑器常用的三种模式 vim /文件路径 进入编辑器,编辑该文件 例:vim /etc/passwd 命令行模式:在编辑器中直接输入命令 dd:删除光标所在的一行 ndd:删除光标所在的向下的n ...

  10. 关于<Servlet>定义

    1,百度百科定义:             Servlet,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容 ...