response对象

Django 中间件

删除回忆录丶 提交于 2019-11-30 02:00:48
自定制中间件 中间件可以定义五个方法,分别是:(主要的是process_request和process_response) process_request(self,request) process_view(self, request, view_func, view_args, view_kwargs) process_response(self, request, response) 以上方法的返回值可以是None或一个HttpResponse对象,如果是None,则继续按照django定义的规则向后继续执行,如果是HttpResponse对象,则直接将该对象返回给用户。 process_request process_request有一个参数,就是request,这个request和视图函数中的request是一样的(在交给Django后面的路由之前,对这个request对象可以进行一系列的操作)。 由于request对象是一样的,所以我们可以对request对象进行一系列的操作,包括request.变量名=变量值,这样的操作,我们可以在后续的视图函数中通过相同的方式即可获取到我们在中间件中设置的值。 它的返回值可以是None也可以是HttpResponse对象。返回值是None的话,按正常流程继续走,交给下一个中间件处理,如果是HttpResponse对象

Django学习之路04

为君一笑 提交于 2019-11-29 21:54:10
视图层 小白必会三板斧 HttpResponse render redirect django视图函数必须要给返回一个HttpResponse对象(render和redirect内部返回的也是一个 HttpResponse对象 ) 前后端分离 在前后端分离的情况下,为了保证数据的交互,我们选择JSON格式来传输数据。 前端一个人干(前端转成自定义对象) JSON.stringify() ——————> json.dumps() JSON.parse() ———————> json.loads() 后端另一个干(python后端用字典) 只要涉及到数据交互,一般情况下都是用的json格式 后端只负责产生接口,前端调用该接口能拿到一个大字典 后端只需要写一个接口文档 里面描述字典的详细信息以及参数的传递 JsonReponse from django.http import JsonResponse def index(request): data = {'name':'jason好帅哦 我好喜欢','password':123} l = [1,2,3,4,5,6,7,8] # res = json.dumps(data,ensure_ascii=False) # return HttpResponse(res) # return JsonResponse(data,json

Django-(Request对象和Response对象)

ぐ巨炮叔叔 提交于 2019-11-29 16:47:42
request对象 当一个页面被请求时,Django就会创建一个包含本次请求原信息的HttpRequest对象。 Django会将这个对象自动传递给响应的视图函数,一般视图函数约定俗成地使用 request 参数承接这个对象。 请求相关的值 path_info 返回用户访问url,不包括域名 method 请求中使用的HTTP方法的字符串表示,全大写表示。 GET 包含所有HTTP GET参数的类字典对象 POST 包含所有HTTP POST参数的类字典对象 body 请求体,byte类型 request.POST的数据就是从body里面提取到的 属性 所有的属性应该被认为是只读的,除非另有说明。 属性:   django将请求报文中的请求行、头部信息、内容主体封装成 HttpRequest 类中的属性。 除了特殊说明的之外,其他均为只读的。 0.HttpRequest.scheme 表示请求方案的字符串(通常为http或https) 1.HttpRequest.body   一个字符串,代表请求报文的主体。在处理非 HTTP 形式的报文时非常有用,例如:二进制图片、XML,Json等。   但是,如果要处理表单数据的时候,推荐还是使用 HttpRequest.POST 。   另外,我们还可以用 python 的类文件方法去操作它,详情参考 HttpRequest.read()

Tomcat启动过程原理详解

喜你入骨 提交于 2019-11-29 09:57:06
Tomcat的核心是Connector和Container,被Service包装,所有的Service由最外层的Server统一管理 图 Server->service1(多个service)->Connectors(每个service对应多个connector)->Engine(处理引擎)->Host(多个主机资源)->Context(多个虚拟目录) 组织结构描述 Server Service Contector Engine Host Context 样本描述 http://localhost:8080/wsota/wsota_index.jsp 发送请求到8080端口,被Connector监听获取 Connector完成http协议解析,把请求交给Service的Engine处理,等待Engine的返回 Engine获取l ocalhost:8080/ wsota/wsota_index.jsp,进行虚拟主机的匹配,找到localhost的Host Engine获取 wsota/wsota_index.jsp,进行虚拟目录的匹配,找到Host的wsota对应的Context path为wsota的Context对象获取 wsota_index.jsp,开始找到这个url的映射的servlet,主要看.jsp后缀

servlet和response

寵の児 提交于 2019-11-29 04:16:21
servlet基础知识 Servlet在内存中是单例----单实例对象一个Servlet类 在内存中最多有一个对象   一个项目有多少功能,将来就有多少Servlet。  servlet是自启动的,就是可以在服务器启动时,创建Servlet对象 servlet的生命周期 Servlet对象的生命周期是由服务器管理的。在第一次访问时,服务器创建Servlet对象并调用init方法一次。每一个访问,服务器会开启一个新的线程 调用service()方法,根据请求方式调用doGet()和doPost()方法。在服务器关闭时(正常关闭)销毁servlet对象,在销毁之前调用destroy方法一次 servlet的相关配置 url-pattern配置 完全路径匹配 例如: /demo1 , /aaa/demo2 , /aaa/bbb/demo3 目录匹配 例如: /* (所有) ,/aaa/* (aaa目录下的所有) 扩展名匹配 例如: *.do , *.action 、*.jsp 、*.jpg 缺省路径/缺省匹配 / 优先级顺序:完全匹配 > 目录匹配 > 扩展名匹配 > 缺省匹配 ServletConfig配置 ServletContext对象 ServletContext context = this.getServletConfig();//获ServletContext对象,域对象

java struts2入门学习实例--将客户端IP地址和访问方式输出到浏览器

孤者浪人 提交于 2019-11-29 01:43:19
实例1:实现客户端IP地址和访问方式输出到浏览器。 IpAction.java package com.amos.web.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; /** * @ClassName: IpAction * @Description: TODO * @author: amosli * @email:amosli@infomorrow.com * @date Jan 5, 2014 4:22:06 PM */ public class IpAction extends ActionSupport { private static final long serialVersionUID = -5488264951167516910L; public String execute() throws Exception { // 获取HttpServletRequest对象和HttpServletResponse对象

(JavaEE-05)Response与Request

懵懂的女人 提交于 2019-11-28 12:47:28
如何才算掌握Servlet ServletConfig ServletContext Request Response Cookie Session 上面这些对象(当然不止这些,剩下的对象查阅ServletAPI,不是JavaEEAPI)都是web服务器在条用Servlet时所创建的交给Servlet的对象,将这些对象的API掌握熟练,就基本上掌握Servlet技术了,剩下的就是你的Java编程功力了,基本都是设计方面的事了。 Web服务器 web服务器接受到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的 request对象 和代表相应的 response对象 。如果需要获取客户端的相关信息,就使用 request对象 ,需要向客户端发送数据,就使用 response对象 。 这里的request对象和response对象都不是标准的HTTP协议的请求和响应,而是Web服务器根据标准的HTTP协议的请求和响应,然后再根据Servlet规范(接口)实现的Web对象。 ###Servlet技术 其实Servlet技术就是一套接口,这个接口是由当年的SUN公司指定的, Tomcat 是一个web服务器,也是Servlet和JSP的容器,为什么它是Servlet与JSP的容器呢,原因就是它实现了SUN规定的那一套关于Servlet和JSP的规范与接口,所以在查阅

request和response对象常用方法

两盒软妹~` 提交于 2019-11-27 23:23:55
request: request.getRequestURL(): 浏览器发出请求时的完整URL,包括协议 主机名 端口(如果有)" request.getRequestURI(): 浏览器发出请求的资源名部分,去掉了协议和主机名" request.getQueryString(): 请求行中的参数部分,只能显示以get方式发出的参数,post方式的看不到 request.getRemoteAddr(): 浏览器所处于的客户机的IP地址 request.getRemoteHost(): 浏览器所处于的客户机的主机名 request.getRemotePort(): 浏览器所处于的客户机使用的网络端口 request.getLocalAddr(): 服务器的IP地址 request.getLocalName(): 服务器的主机名 request.getMethod(): 得到客户机请求方式一般是GET或者POST request.getParameter(): 是常见的方法,用于获取单值的参数 request.getParameterValues(): 用于获取具有多值的参数,比如注册时候提交的 "hobits",可以是多选的。 request.getParameterMap(): 用于遍历所有的参数,并返回Map类型。 response:设置响应编码有两种方式 1.

Django中的request对象和response对象(简单整理)

不打扰是莪最后的温柔 提交于 2019-11-27 20:39:39
对Django中的request对象和response对象做一个简单的总结。 request和response在Django中的作用:   django使用request对象和response对象在系统间传递状态。当请求一个页面的时候,django会建立一个包含请求元数据的HttpRequest对象,当django加载对应的视图时,HttpRequest对象将作为视图函数的第一个参数,每个视图会返回一个HttpResponse对象,当然也有例外,以后在讨论这种情况。 reqeust对象中的基本属性: request.scheme --> 返回一个字符串,表示请求方案 request.body --> 返回一个字符串,表示原始http请求的正文 request.path --> 返回一个字符串,表示请求页面的完整路径,不包含域名 reqeust.path_info --> path_info属性始终包含路径信息部分,不论使用的web服务器是什么,使用它代替path可以让代码在测试和开发环境中更容易切换 requst.method --> 返回一个字符串,表示你请求使用的http方法,必须使用大写 request.encoding --> 返回一个字符串,表示提交的数据的编码方式,(如果为None,则表示使用default_charset设置),默认是utf-8,这个属性是可写的

自定制中间件

喜你入骨 提交于 2019-11-27 18:33:32
自定制中间件 中间件可以定义五个方法,分别是:(主要的是process_request和process_response) process_request(self,request) process_view(self, request, view_func, view_args, view_kwargs) process_response(self, request, response) 以上方法的返回值可以是None或一个HttpResponse对象,如果是None,则继续按照django定义的规则向后继续执行,如果是HttpResponse对象,则直接将该对象返回给用户。 process_request process_request有一个参数,就是request,这个request和视图函数中的request是一样的(在交给Django后面的路由之前,对这个request对象可以进行一系列的操作)。 由于request对象是一样的,所以我们可以对request对象进行一系列的操作,包括request.变量名=变量值,这样的操作,我们可以在后续的视图函数中通过相同的方式即可获取到我们在中间件中设置的值。 它的返回值可以是None也可以是HttpResponse对象。返回值是None的话,按正常流程继续走,交给下一个中间件处理,如果是HttpResponse对象