Home > Web Front-end > HTML Tutorial > How JavaWeb passes background data to the front page HttpServletResponse and HttpServletRequest_html/css_WEB-ITnose

How JavaWeb passes background data to the front page HttpServletResponse and HttpServletRequest_html/css_WEB-ITnose

WBOY
Release: 2016-06-24 11:50:50
Original
2826 people have browsed it

Continue to summarize: After Java passes the Action, how to write the data returned in the action to the front desk

First understand: HttpServletResponse object

(1). When the web server receives an http request, it will create an HttpServletRequest and HttpServletResponse object for each request, send data to the client to find HttpServletResponse, and get data from the client to find HttpServletRequest;

(2 ). The HttpServletResponse object can send three types of data to the client: a. Response header b. Status code c. Data
(3). See the API of HttpServletResponse yourself
(4).rsponse returns to the front desk Data:

a. Use OutputStream to write Chinese to the client:

    response.setHeader("Content-type","text/html;charset=UTF-8");//向浏览器发送一个响应头,设置浏览器的解码方式为UTF-8    String data = "中国";    OutputStream stream = response.getOutputStream();    stream.write(data.getBytes("UTF-8"));
Copy after login

b. Use Writer to write to the client Write in Chinese:

   response.setCharacterEncoding("UTF_8");//设置Response的编码方式为UTF-8    response.setHeader("Content-type","text/html;charset=UTF-8");//向浏览器发送一个响应头,设置浏览器的解码方式为UTF-8,其实设置了本句,也默认设置了Response的编码方式为UTF-8,但是开发中最好两句结合起来使用    //response.setContentType("text/html;charset=UTF-8");同上句代码作用一样    PrintWriter writer = response.getWriter();    writer.write("中国");
Copy after login


Look at how companies generally use it: No matter how it is used, it is nothing more than encapsulating it into methods , return data to the front desk

Action:

public void searchModelIsUsed() {		<strong>HttpServletRequest req = ServletActionContext.getRequest();</strong>		boolean result1 = this.voucherTypeService.queryProductionMode();		if(result1==false){			//非生产模式则可修改模板			String result="is_PRODUCTION_MODE";			this.<strong>actionWrite</strong>("{success:'true',info:'" + result + "'}");		}else{			String vmId = req.getParameter("vmId");			boolean result = this.voucherTypeService.checkVoucherModelUsed(vmId);			this.actionWrite("{success:'true',info:'" + result + "'}");		}	}
Copy after login
The result obtained above, return display data to the front desk using actionWrite

actionWrite is as follows:

	public void actionWrite(String result) {		if(result == null){			result = "";		}		HttpServletResponse resp = ServletActionContext.getResponse();		resp.setContentType("text/json;charset=UTF-8");		resp.setHeader("Cache-Control", "no-cache");		PrintWriter pw = null;		try {			pw = resp.getWriter();			pw.write(result);		} catch (IOException e) {			throw new EVoucherException("获取http写入流异常" + e.getMessage());		} finally {			if (pw != null) {				pw.close();			}		}	}
Copy after login

You can see that the actionWrite method is an HttpServletResponse that sets the relevant information and uses PrintWriter to write data to the frontend

In the frontend JS, it is the response passed from the background The data is OK.

callback : function (options,success,response){	if(success){				checkSessionOverdue(response.responseText);		var msg = Ext.JSON.decode(response.responseText);	var msgInfo = msg.info;	if(msgInfo == 'true'){		Ext.Msg.alert("系统提示", "当前模板已存在历史数据,只能修改模板名称跟启用日期!");		isAddVoucherModel = false;		refreshAddVoucherModelForm(false);	}else if(msgInfo=='is_PRODUCTION_MODE'){		isAddVoucherModel = true;		refreshAddVoucherModelForm(false);	}else{		isAddVoucherModel = true;		refreshAddVoucherModelForm(false);	}			}}
Copy after login





source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template