python如何读取配置文件获取url以及hhead_0057 Spring MVC如何获取HTTP请求头信息--URL中的动态参数--@RequestHeader--@CookieValue--@P...

获取HTTP请求头信息

一个HTTP请求除了有参数和实体内容外还有HTTP请求头信息,Spring MVC也可以获取这部分信息

@RequestHeader解可以将请求头信息映射到处理方法的形参上

@CookieValue注解可以将Cookie映射到形参上

写个controller

package net.sonng.mvcdemo.controller;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.CookieValue;

import org.springframework.web.bind.annotation.RequestHeader;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.servlet.ModelAndView;

@Controller

public class HeaderController {

@RequestMapping(value="/getHeader",method=RequestMethod.GET)

public ModelAndView getHeader(

@RequestHeader("Host") String host,

@RequestHeader("User-Agent") String userAgent,

@RequestHeader("Accept") String accept,

@RequestHeader("Accept-Language") String acceptLanguage,

@RequestHeader("Accept-Encoding") String acceptEncoding,

@RequestHeader("Cookie") String cookie,

@RequestHeader("Connection") String conn,

@CookieValue("JSESSIONID") String cookie2){

//@RequestHeader将http请求头信息赋值给形参

//@CookieValue直接将请求头中的cookie的值赋值给形参

ModelAndView mav=new ModelAndView();

mav.addObject("host", host);

mav.addObject("userAgent", userAgent);

mav.addObject("accept", accept);

mav.addObject("acceptLanguage", acceptLanguage);

mav.addObject("acceptEncoding", acceptEncoding);

mav.addObject("cookie", cookie);

mav.addObject("conn", conn);

mav.addObject("cookie2", cookie2);

mav.setViewName("result"); //返回值是个字符串,就是视图名

return mav;

}

}

写个result.jsp作视图

contentType="text/html;charset=utf-8" %>

返回结果

您的请求头信息为:

Host: ${host }

User-Agent: ${userAgent }

Accept: ${accept }

Accept-Language: ${acceptLanguage }

Accept-Encoding: ${acceptEncoding }

Cookie: ${cookie }

Connection: ${conn }

cookie2:${cookie2 }

直接访问,可以看到jsp页面列出了这个http请求的头信息和cookie

您的请求头信息为:

Host: localhost:8080

User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Cookie: {JSESSIONID=javax.servlet.http.Cookie@3c915cc} //奇怪的是,输出的是个Cookie对象

Connection: keep-alive

cookie2:304FDCF278E823F2F2B8850BD7B8B8DC

获取请求URL中的动态参数

@PathVariable注解可以获取请求URL中的动态参数,这样就把url中“?”后面或者http实体中的部分参数,转移到了一个url中,多个url就映射到了一个方法上

写个Controller

package net.sonng.mvcdemo.controller;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

public class PathVariableTestController {

@RequestMapping("/book/{isbn}") //@PathVariable把url中的动态参数传递给了形参,这里的{isbn}貌似还支持正则

public String path(@PathVariable("isbn") String bookid,Model model){

model.addAttribute("isbn", bookid);

return "result";

}

}

视图result.jsp

contentType="text/html;charset=utf-8" %>

返回结果

您请求的书籍的ISBN为:${isbn }

您请求的书籍的ISBN为:9787111336242

PHP获取客户端请求头信息

获取HTTP请求头信息 Apache 如果web服务器用的是apache,可以直接用php的库函数getallheaders() Nginx 如果web服务器用的是nginx,则无法直接使用getal ...

关于Retrofit网络请求URL中含有可变参数的处理

开题:在此默认各位看官对Retrofit.以及Okhttp已经有过一定的了解及应用,所以今天我们不谈基础入门的东西,今天我们谈在Retrofit请求接口管理类中URL参数含有动态参数的处理方式.一般我 ...

Spring MVC如何获取请求中的参数

目录 一.获取URL中路径参数 1.1 @PathVariable 注解 1.2 @PathParam 注解 二.获取请求参数: 2.1 GET请求 2.1.1 获取请求中的单个参数:@Request ...

Spring MVC 原理探秘 - 一个请求的旅行过程

1.简介 在前面的文章中,我较为详细的分析了 Spring IOC 和 AOP 部分的源码,并写成了文章.为了让我的 Spring 源码分析系列文章更为丰富一些,所以从本篇文章开始,我将来向大家介绍一 ...

Spring MVC 后端获取前端提交的json格式字符串并直接转换成control方法对应的参数对象

场景: 在web应用开发中,spring mvc凭借出现的性能和良好的可扩展性,导致使用日渐增多,成为事实标准,在日常的开发过程中,有一个很常见的场景:即前端通过ajax提交方式,提交参数为一个jso ...

Spring MVC体系结构和处理请求控制器

Spring MVC体系结构和处理请求控制器 一:MVC设计模式: (1.)数据访问接口:DAO层 (2.)处理业务逻辑层:Service层 (3.)数据实体:POJO (4.)负责前段请求接受并处理 ...

为何Spring MVC可获取到方法参数名,而MyBatis却不行?【享学Spring MVC】

每篇一句 胡适:多谈些问题,少聊些主义 前言 Spring MVC和MyBatis作为当下最为流行的两个框架,大家平时开发中都在用.如果你往深了一步去思考,你应该会有这样的疑问: 在使用Spring ...

js获取HTTP的请求头信息

以下为js获取HTTP的全部请求头信息: var req = new XMLHttpRequest(); req.open('GET', document.location, false); req. ...

随机推荐

Javascript 中的闭包和引用

Javascript 中一个最重要的特性就是闭包的使用.因为闭包的使用,当前作用域总可以访问外部的作用域.因为Javascript 没有块级作用域,只有函数作用域,所以闭包的使用与函数是紧密相关的. ...

ARP 命令运行实现静态IP/MAC绑定

公司网络出现本地无法连接,以前公司是分配的固定IP,结果还是无法连接网络,后来网管帮我设置了下,我也学习了下.解决办法如下: 1.首先以管理员身份运行CMD打开命令行程序 开始-程序-附件-命令提示符 ...

preg_*匹配的字符串长度限制问题以及nginx,php上传文件过大问题

问题背景 使用插件上传高清图片,用的插件base64转码的,上传失败,接口提示:413 (Request Entity Too Large) 问题分析与解决  首先想到的是nginx和php的服务器配 ...

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause 的问题 MySQL

问题:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregate ...

MongoDB解压报错gzip: stdin: not in gzip format的解决方法

MongoDB解压报错gzip: stdin: not in gzip format的解决方法 在安装MongoDB时出现如下报错: [root@vm172--- mongodb]# tar -zxv ...

Javascript中用来实现继承的几种方式

一.原型链继承 原理:修改子类型的原型,使其指向父类型的实例: 缺点: 1,不能以字面量方式在子类型的原型上添加新方法:这回重新改写子类型的原型: 2  创建子类型的实例时无法向父类型的构造函数传参. ...

linux driver ------ 字符设备驱动 之 “ 创建设备节点流程 ”

在字符设备驱动开发的入门教程中,最常见的就是用device_create()函数来创建设备节点了,但是在之后阅读内核源码的过程中却很少见device_create()的踪影了,取而代之的是device ...

SpringCloud知识点20190313

1.SpringBoot和SpringCloud的关系(面试题) Spring Boot 可以离开 Spring Cloud 单独使用开发项目,但是Spring Cloud离不开SpringBoot, ...

vue 获取跳转上一页组件信息

项目中有一需求,需要根据不同的页面路径url跳转进行不同的操作,首先需要获得上一页面的url,利用 beforeRouteEnter 这个钩子中的from参数获得之前url的信息,然后给 next 传 ...

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值