获取请求的參数。rest技术相对于servlet来说要方便很多。

Servlet我们要获取请求的參数,非常麻烦啊。须要request.getParameter(“”)。假设我们要的是int,float这些东西,还须要去转换。

尽管说有ognl这种工具能够帮忙类型转换,自己主动设置对象值。还是麻烦。

可是rest就很方便。提供了一种注解的机制来自己将http请求參数类型转换成rest的方法參数。不不过http的请求參数。还支持cookie參数,路径參数等等。

那么我们来见识下申请的rest。

@Cookieparam

@FormParam

@HeaderParam

@MatrixParam

@PathParam

@QueryParam

@BeanParam

总共7个注解。

这里我先介绍下下面三个注解

@MatrixParam

@PathParam

@QueryParam

这三个注解都是从URL里面取东西的。

@MatrixParam取URL分号(;)后面的參数。

这个也要注意。一定要在?

号前面。

@PathParam取URL路径里的參数。使用的时候须要注意。要在@Path注解内放一个变量,用{}括起来。然后才干够使用。

@QueryParam取URL?

后面的请求參数。

那么如今就简单地搭个环境啦

package restparams;

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("rest")
public class MyApplication extends Application { }

这样的配置方式取代了xml的配置方式。指定了全部rest资源类的URL前缀。然后再写资源类。

package restparams;

import javax.ws.rs.GET;
import javax.ws.rs.MatrixParam;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam; @Path("/max/{a}.html")
public class Max { @GET
@Produces("text/html")
public String max(@PathParam("a") int a, @QueryParam("b") int b, @MatrixParam("c") int c) {
int max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
return "The max number is " + max;
}
}

在以下的方法中就使用了@PathParam注解,将这个变量a注入到了int">在@Path()注解中的{a}。能够将这段路径的值放入一个变量a中。比方/max/12.html,a的值就是12。

在以下的方法中就使用了@PathParam注解,将这个变量a注入到了int a中。

以下这个URL,c是分号(;)后面的參数。所以是MatrixParam。查询參数就是get请求经常使用的,在问号(?)后面。

http://localhost:8080/restparams/rest/max/5.html;c=2?b=3

这个URL的訪问结果就是这样子的。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

REST技术第二步 获取URL中的參数的更多相关文章

  1. javascript获取当前url中的參数

    javascript获取当前页面url中的參数能够使用location的search方法,获取到的是url中?后面的部分,比如http:localhost:8080/Manager/index.jsp ...

  2. vue中如何不通过路由直接获取url中的参数

    前言:为什么要不通过路由直接获取url中的参数? vue中使用路由的方式设置url参数,但是这种方式必须要在路径中附带参数,而且这个参数是需要在vue的路由中提前设置好的. 相对来说,在某些情况下直接 ...

  3. 【C++】获取URL中主机域名

    // ConsoleApplication1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h& ...

  4. 如何获取url中的参数并传递给iframe中的报表

    在使用报表软件时,用户系统左边一般有目录树,点击报表节点就会在右侧网页的iframe中显示出报表,同时点击的时候也会传递一些参数给网页,比如时间和用户信息等.如何使网页中的报表能够获取到传递过来的参数 ...

  5. 记录一次bug解决过程:velocity中获取url中的参数

    一.总结 在Webx的Velocity中获取url中参数:$rundata.getRequest().getParameter('userId') 在Webx项目中,防止CSRF攻击(Cross-si ...

  6. 使用JS,获取URL中指定参数的值

    /** * 获取URL中指定参数的值 * * @param name 参数名称 * @returns */ function getQueryString(name) { var reg = new ...

  7. js获取URL中的参数

    js获取URL中的一些参数的意思 location对象 含有当前URL的信息. 属性 href 整个URL字符串. protocol 含有URL第一部分的字符串,如http: host 包含有URL中 ...

  8. APPCAN开发笔记:html页面之间的参数传递:使用js获取url中的参数,以及在APPCAN中不能使用的解决方法

    用PHP的GET/POST方式来传递方式已经是司空见惯了,但是如果我的页面是一个静态的html的页面,想传递参数的时候要怎么办呢?在APPCAN的开发中我们会经常遇到这样的问题,因为所有的页面都是静态 ...

  9. javaScript获取url中的参数

    var urlTools = { //获取RUL参数值 getUrlParam: function(name) { /*?videoId=identification */ var params = ...

随机推荐

  1. CentOS 初体验十四:阿里云安装Gitlab

    网址:https://about.gitlab.com/install/#centos-7 https://blog.csdn.net/zhaoyanjun6/article/details/7914 ...

  2. 并发-5CAS与AQS

    juc: java.util.concurrent 锁: 悲观锁:写的比较多,对数据的增删改,读(查)少.Lock 乐观锁:反之,读多写少.版本 并发编程之 CAS 的原理 什么是CAS CAS (c ...

  3. vue cli本地开发跨域问题解决

    首先呢,找到在目录里找到config文件夹 然后修改config文件夹下的index.js里面dev的配置项proxyTable: 修改为: proxyTable: { '/api': { targe ...

  4. windows mac配置host方法

    配置host方法如下: 1.windows 系统配置host (1)打开电脑的系统盘(一般默认为C盘):C盘 -> Windows -> System32 -> drives -&g ...

  5. BZOJ 3996 线性代数 最小割

    题意: 给出一个N*N的矩阵B和一个1*N的矩阵C.求出一个1*N的01矩阵A.使得 D=(A*B-C)*A^T最大.其中A^T为A的转置.输出D 分析: 这道题比较绕,我们需要看清题目中那个式子的本 ...

  6. 笔试算法题(16):二叉树深度计算 & 字符串全排列

    出题:要求判断二元树的深度(最长根节点到叶节点的路径): 分析:二元递归不容易使用循环实现 解题: struct Node { int value; Node *left; Node *right; ...

  7. 利用端口转发来访问virtualbox虚拟机centos6的jupyter notebook

    1.除了在virtualbox中设置常规的端口转发外,还需要在windows上打开cmd,输入ssh -N -f -L localhost:8888:localhost:8889 -p 22 root ...

  8. 87-Moving average of oscillator,移动平均振荡指标.(2015.7.4)

    Moving average of oscillator 移动平均振荡指标 ~计算: OSMA = MACD-SIGNAL 注释:OSMA的值即为MACD中两个主要指标线的差值 ~思想: 该指标当作一 ...

  9. Java使用ZXing生成/解析二维码图片

    ZXing是一种开源的多格式1D/2D条形码图像处理库,在Java中的实现.重点是在手机上使用内置摄像头来扫描和解码设备上的条码,而不与服务器通信.然而,该项目也可以用于对桌面和服务器上的条形码进行编 ...

  10. IOC&DI

    [概述] 1.IOC(Inversion of Control): 即“反转控制”,不是什么技术,而是一种设计思想.其思想是反转资源获取的方向. 传统的资源查找方式要求组件向容器发起请求查找资源.作为 ...