java请求是什么?java中request是个什么东东,干什么用的
其实java请求是什么的问题并不复杂,但是又很多的朋友都不太了解java中request是个什么东东,干什么用的,因此呢,今天小编就来为大家分享java请求是什么的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
如何使用java发送post请求
/**
*向指定 URL发送POST方法的请求
*
*@param url
*发送请求的 URL
*@param param
*请求参数,请求参数应该是 name1=value1&name2=value2的形式。
*@return所代表远程资源的响应结果
*/
public static String sendPost(String url, String param){
PrintWriter out= null;
BufferedReader in= null;
String result="";
try{
URL realUrl= new URL(url);
//打开和URL之间的连接
URLConnection conn= realUrl.openConnection();
//设置通用的请求属性
conn.setRequestProperty("accept","*/*");
conn.setRequestProperty("connection","Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1;SV1)");
//发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
//获取URLConnection对象对应的输出流
out= new PrintWriter(conn.getOutputStream());
//发送请求参数
out.print(param);
// flush输出流的缓冲
out.flush();
//定义BufferedReader输入流来读取URL的响应
in= new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while((line= in.readLine())!= null){
result+= line;
}
} catch(Exception e){
System.out.println("发送 POST请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
catch(IOException ex){
ex.printStackTrace();
}
}
return result;
}
java中request是个什么东东,干什么用的
request这个对象不用事先宣告,就可以在JSP网页中使用,在转译为Servlet之后,它会转换为javax.servlet.http.HttpServletRequest型态的对象,HttpServletRequest对象是有关于客户端所发出的请求之对象,只要是有关于客户端请求的信息,都可以藉由它来取得,例如请求标头、请求方法、请求参数、使用者IP等等信息。
request的主要方法:
getParameterNames():取得客户端所发出的请求参数名称.
getParameter():可以让您指定请求参数名称,以取得对应的设定值.
getServerName():请求的服务器.
getProtocol():使用协议.
getMethod():请求方法.
getServerPort():请求端口号.
getContextPath():Context路径.
getServletPath(): Servlet路径.
getRequestURI():URI路径.
getQueryString():查询字符串.
getRemoteAddr():使用者主机IP.
getRemotePort():使用者使用端口号.
简单来说就是取值用的。
“java application”指的是什么
在Java语言中,能够独立运行的程序称为Java应用程序(Application)。
Java语言还有另外一种程序——Applet程序。Applet程序(也称Java小程序)是运行于各种网页文件中,用于增强网页的人机交互、动画显示、声音播放等功能的程序。
Java Applet和Java Application在结构方面的主要区别表现在:
(1)运行方式不同。Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行。 Java Application是完整的程序,可以独立运行,只要有支持Java的虚拟机,它就可以独立运行而不需要其他文件的支持。
(2)运行工具不同。运行Java Applet程序的解释器不是独立的软件,而是嵌在浏览器中作为浏览器软件的一部分。Java Application程序被编译以后,用普通的Java解释器就可以使其边解释边执行,而Java Applet必须通过网络浏览器或者Applet观察器才能执行。
java中如何判断发送的请求是否得到响应
前面提到,服务器在完成请求之后会在 XMLHttpRequest的 onreadystatechange属性中查找要调用的方法。这是真的,但还不完整。事实上,每当 HTTP就绪状态改变时它都会调用该方法。这意味着什么呢?首先必须理解 HTTP就绪状态。
HTTP就绪状态表示请求的状态或情形。它用于确定该请求是否已经开始、是否得到了响应或者请求/响应模型是否已经完成。它还可以帮助确定读取服务器提供的响应文本或数据是否安全。在 Ajax应用程序中需要了解五种就绪状态:
• 0:请求没有发出(在调用 open()之前)。
• 1:请求已经建立但还没有发出(调用 send()之前)。
• 2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。
• 3:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。
• 4:响应已完成,可以访问服务器响应并使用它。
与大多数跨浏览器问题一样,这些就绪状态的使用也不尽一致。您也许期望任务就绪状态从 0到 1、2、3再到 4,但实际上很少是这种情况。一些浏览器从不报告 0或 1而直接从 2开始,然后是 3和 4。其他浏览器则报告所有的状态。还有一些则多次报告就绪状态 1。在上一节中看到,服务器多次调用 updatePage(),每次调用都会弹出警告框——可能和预期的不同!
对于 Ajax编程,需要直接处理的惟一状态就是就绪状态 4,它表示服务器响应已经完成,可以安全地使用响应数据了。基于此,回调方法中的第一行应该如清单 13所示。
清单 13.检查就绪状态
function updatePage(){
if(request.readyState== 4)
alert("Server is done!");
}
修改后就可以保证服务器的处理已经完成。尝试运行新版本的 Ajax代码,现在就会看到与预期的一样,只显示一次警告信息了。
HTTP状态码
虽然清单 13中的代码看起来似乎不错,但是还有一个问题——如果服务器响应请求并完成了处理但是报告了一个错误怎么办?要知道,服务器端代码应该明白它是由 Ajax、JSP、普通 HTML表单或其他类型的代码调用的,但只能使用传统的 Web专用方法报告信息。而在 Web世界中,HTTP代码可以处理请求中可能发生的各种问题。
比方说,您肯定遇到过输入了错误的 URL请求而得到 404错误码的情形,它表示该页面不存在。这仅仅是 HTTP请求能够收到的众多错误码中的一种(完整的状态码列表请参阅参考资料中的链接)。表示所访问数据受到保护或者禁止访问的 403和 401也很常见。无论哪种情况,这些错误码都是从完成的响应得到的。换句话说,服务器履行了请求(即 HTTP就绪状态是 4)但是没有返回客户机预期的数据。
因此除了就绪状态外,还需要检查 HTTP状态。我们期望的状态码是 200,它表示一切顺利。如果就绪状态是 4而且状态码是 200,就可以处理服务器的数据了,而且这些数据应该就是要求的数据(而不是错误或者其他有问题的信息)。因此还要在回调方法中增加状态检查,如清单 14所示。
清单 14.检查 HTTP状态码
function updatePage(){
if(request.readyState== 4)
if(request.status== 200)
alert("Server is done!");
}
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!