博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC配置及使用
阅读量:5843 次
发布时间:2019-06-18

本文共 4586 字,大约阅读时间需要 15 分钟。

SpringMVC基本配置

  SpringMVC是基本请求响应模式的框架。

  在项目中集成SpringMVC框架首先需要导入相关的jar包,所需包具体如下:

  commons-dbcp.jar

  commons-fileupload-1.2.2.jar
  commons-io-2.0.1.jar
  commons-logging-1.1.1.jar
  jackson-annotations-2.2.3.jar
  jackson-core-2.2.3.jar
  jackson-databind-2.2.3.jar
  spring-aop-4.1.6.RELEASE.jar
  spring-beans-4.1.6.RELEASE.jar
  spring-context-4.1.6.RELEASE.jar
  spring-context-support-4.2.3.RELEASE.jar
  spring-core-4.1.6.RELEASE.jar
  spring-expression-4.1.6.RELEASE.jar
  spring-jdbc-4.2.3.RELEASE.jar
  spring-tx-4.1.6.RELEASE.jar
  spring-web-4.1.6.RELEASE.jar
  spring-webmvc-4.1.6.RELEASE.jar

  在导入相关jar包之后需要配置web.xml文件与SpringMVC相关联,完整web.xml文件如下:

springMVC
demo
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:mvc.xml
1
demo
*.do
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp

  在web.xml中关于springMVC的两个标签是<servlet></servlet>和<servlet-mapping></servlet-mapping>

  这两个标签的第一个子标签<servlet-name>要互相对应保持一致

  <servlet>标签的子标签<servlet-class>指定路由的处理类

  <servlet-mapping>标签的子标签<url-pattern>指定被拦截的路由模式,上面的配置表示系统中所有以.do结尾的请求都交给org.springframework.web.servlet.DispatcherServlet来进行处理

  <servlet>标签的子标签<init-param>表示参数的配置,<init-param>的子标签<param-name>设置为contextConfigLocation,<param-value>标签表示contextConfigLocation的值,其值classpath:mvc.xml表示路径是在src目录下的mvc.xml,mvc.xml表示具体的关于springMVC应用的配置,如果不进行<init-param>的配置则springMVC的具体的配置文件要指定为[name]-servlet.xml,[name]表示<servlet-name>的值

  <load-on-value>表示项目启动则配置生效

  在web.xml配置完成之后需要对springMVC.xml文件来进行配置

text/html; charset=UTF-8
application/json;charset=UTF-8
text/html; charset=UTF-8
application/json;charset=UTF-8

   beans里面的第一个bean表示开启注解扫描

  beans里面的第二个bean表示注解映射器

  beans里面的第三个bean表示注解适配器,主要实现了返回一个json数据的功能。第二和第三的要有绑定关系,要么全写,要么全不写

  beans里面的第四个bean表示视图解析器,里面的<property name=prefix value="/WEB-INF/pages"/>表示对返回的视图添加前缀,与之对应的就是添加后缀,使用方式为<property name="sufix" value=".jsp">,例如controller类中一个方法return "demo",则最终的结果为/WEB-INF/pages/demo.jsp

  最后一行表示配置文件对com.wx.controller下的所有java文件起作用(扫描里面的注解)

  至此完成了一个最简单的springMVC的配置。

代码实现

  在springMVC的配置文件中我们指明了监控com.wx.controller包内的所有文件的注解,我们在该包内新建一个DemoController.java文件,最终其内容如下:

package com.wx.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class DemoController {    @RequestMapping("/demo/html.do")    public String toHtml(){        return "html.html";    }    @RequestMapping("/demo/jsp.do")    public String toJSP(){        return "jsp.jsp";    }}

  在WEB-INF下的pages文件中新建html.html和jsp.jsp文件

  运行项目在地址输入/demo/html.do可以跳转到html.html页面,输入/demo/jsp.do可以跳转到jsp.jsp页面

SpringMVC处理json数据格式的数据

  我们在客户端已发出如下的请求:

$(function(){        var data = {            name:"zt",            age:23        }        $.ajax({            url:"http://zt:8088/springmvc-demo/demo/send.do",            type:"post",            data:JSON.stringify(data),            contentType:"application/json; charset=utf-8"        }).done(function(data){            console.log(data);        }).fail(function(){            console.error("server error");        })

   在服务端的controller类中添加对应的处理方法:

@RequestMapping("/demo/send.do")    @ResponseBody    public List
send(@RequestBody User user){ System.out.println("client send age:"+user.getAge()); System.out.println("client send name:"+user.getName()); List
list = new ArrayList
(); Person p1 = new Person("张三",23); Person p2 = new Person("李四",22); list.add(p1); list.add(p2); return list; }

  @ResponseBody表示返回的是数据不再是页面不再需要视图解析器的处理

  User是一个实体类用来接收从客户端发送过来的数据,前面要用@RequestBody来进行修饰

  此时客户端也可以正确的接收到服务端返回的JSON数据:[{"name":"张三","age":23},{"name":"李四","age":22}]

转载于:https://www.cnblogs.com/shinhwazt/p/6284277.html

你可能感兴趣的文章
二叉树的蛇形遍历 leetcode 103
查看>>
Linux设备驱动之IIO子系统——IIO框架及IIO数据结构
查看>>
【Util】 时间天数增加,时间比较。
查看>>
[Erlang 0004] Centos 源代码编译 安装 Erlang
查看>>
51 Nod 1027 大数乘法【Java大数乱搞】
查看>>
20.4. myisamchk — MyISAM Table-Maintenance Utility
查看>>
三维重建技术概述
查看>>
Go语言与数据库开发:01-09
查看>>
Python连续攀升,其他的脚本语言去哪了?
查看>>
socket跟TCP/IP 的关系,单台服务器上的并发TCP连接数可以有多少
查看>>
中文分词之HMM模型详解
查看>>
山东青岛市南区:创建"物联网" 信息化管理涉案财物
查看>>
《爆发》作者:大数据领域将有新赢家
查看>>
AI x 量化:华尔街老司机解密智能投资正确姿势
查看>>
IT史上十大收购案
查看>>
数据切分——Atlas介绍
查看>>
云计算时代,互联网金融背后的想象空间
查看>>
游戏引擎cocos2d-android使用大全
查看>>
oracle job 定时执行参数
查看>>
虚拟现实大潮渐近:Oculus VR、EA和Avegant等多家公司...
查看>>