怎么从url里面取到参数(怎么取出url的值填写到页面里)
一、后台怎么接收处理从url 客户端传来的json数
后台解析前端传来的json数据格式听简单的#
比如客户端传来的参数格式url
从外边可以知道我们传给的外面的参数是data所以后台接收到的也只是data的参数
所以我们现在需要做的就是解析传给后台的json数据格式
代码如下:
//谷歌产生json对象的工具
Gson json= new Gson();
//产生 P{}里面参数接收对象
Param p= new Param();Param对象里的属性是pageNum,type,sessionKey(注意的是该对象指的是p,对象里面的属性也必须和客户端中json数据格式中的字段名称一致)
//需要将客户端传来的json数据转换成什么对象
p= json.fromJson(data, Param.class);data为外层的json数据对象
获取对象中的参数的值
p.getType();就能获取到客户端传来的参数的值了###
很简单的 API一看就明白了###
外层当然为
gson.jar包
public class Base{
private String m;
private String c;
public String getM(){
return m;
}
public void setM(String m){
this.m= m;
}
public String getC(){
return c;
}
public void setC(String c){
this.c= c;
}
}
对象中的对象
package com.i**artinfo.ilife.api.entities.parameter;
public class Param extends Base{
private ParamValue p;
public ParamValue getP(){
return p;
}
public void setP(ParamValue p){
this.p= p;
}
}
package com.i**artinfo.ilife.api.entities.parameter;
public class ParamValue{
private int pageNum;
private int type;
private int groupInfoId;
private int groupInfoReplyId;
private String sessionKey;
private int groupTitle;
private String groupContent;
private String phone;
private int buttonType;
private int replayId;
private int disclosure;
public int getPageNum(){
return pageNum;
}
public void setPageNum(int pageNum){
this.pageNum= pageNum;
}
public String getSessionKey(){
return sessionKey;
}
public void setSessionKey(String sessionKey){
this.sessionKey= sessionKey;
}
public int getType(){
return type;
}
public void setType(int type){
this.type= type;
}
public int getGroupInfoId(){
return groupInfoId;
}
public void setGroupInfoId(int groupInfoId){
this.groupInfoId= groupInfoId;
}
public int getGroupInfoReplyId(){
return groupInfoReplyId;
}
public void setGroupInfoReplyId(int groupInfoReplyId){
this.groupInfoReplyId= groupInfoReplyId;
}
public int getGroupTitle(){
return groupTitle;
}
public void setGroupTitle(int groupTitle){
this.groupTitle= groupTitle;
}
public String getGroupContent(){
return groupContent;
}
public void setGroupContent(String groupContent){
this.groupContent= groupContent;
}
public String getPhone(){
return phone;
}
public void setPhone(String phone){
this.phone= phone;
}
public int getButtonType(){
return buttonType;
}
public void setButtonType(int buttonType){
this.buttonType= buttonType;
}
public int getReplayId(){
return replayId;
}
public void setReplayId(int replayId){
this.replayId= replayId;
}
public int getDisclosure(){
return disclosure;
}
public void setDisclosure(int disclosure){
this.disclosure= disclosure;
}
}
二、html获取urlde值***怎么取出url的值填写到页面里
一、字符串分割分析法。
这里是一个获取URL带REQUESTRING参数的J**ASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET,jsp的request.getParameter
//varUSERCODE="<%=request.getParameter("USERCODE")%>";
//以上是用request.getParameter在浏览器端获取参数值,也可以是用该方法在服务器端获取参数方法
函数:
<Scriptlanguage="javascript">
functionGetRequest(){
varurl=location.search;//获取url中"?"符后的字串
vartheRequest=newObject();
if(url.indexOf("?")!=-1){
varstr=url.substr(1);
strs=str.split("&");
for(vari=0;i<strs.length;i++){
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
returntheRequest;
}
</Script>
然后我们通过调用此函数获取对应参数值:
<Scriptlanguage="javascript">
varRequest=newObject();
Request=GetRequest();
var参数1,参数2,参数3,参数N;
参数1=Request['参数1'];
参数2=Request['参数2'];
参数3=Request['参数3'];
参数N=Request['参数N'];
</Script>
以此获取url串中所带的同名参数
二、正则分析法。functionGetQueryString(name){
varreg=newRegExp("(^|&)"+name+"=([^&]*)(&|$)","i");
varr=window.location.search.substr(1).match(reg);
if(r!=null)returnunescape(r[2]);returnnull;
}
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
三、java HttpPost怎么传递参数
public class HttpURLConnectionPost{
/**
*@param args
*@throws IOException
*/
public static void main(String[] args) throws IOException{
readContentFromPost();
}
public static void readContentFromPost() throws IOException{
// Post请求的url,与get不同的是不需要带参数
URL postUrl= new URL("");
//打开连接
HttpURLConnection connection=(HttpURLConnection) postUrl.openConnection();
//设置是否向connection输出,因为这个是post请求,参数要放在
// http正文内,因此需要设为true
connection.setDoOutput(true);
// Read from the connection. Default is true.
connection.setDoInput(true);
//默认是 GET方式
connection.setRequestMethod("POST");
// Post请求不能使用缓存
connection.setUseCaches(false);
//设置本次连接是否自动重定向
connection.setInstanceFollowRedirects(true);
//配置本次连接的Content-type,配置为application/x-www-form-urlencoded的
//意思是正文是urlencoded编码过的form参数
connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
//连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,
//要注意的是connection.getOutputStream会隐含的进行connect。
connection.connect();
DataOutputStream out= new DataOutputStream(connection
.getOutputStream());
//正文,正文内容其实跟get的URL中'?'后的参数字符串一致
String content="字段名="+ URLEncoder.encode("字符串值","编码");
// DataOutputStream.writeBytes将字符串中的16位的unicode字符以8位的字符形式写到流里面
out.writeBytes(content);
//流用完记得关
out.flush();
out.close();
//获取响应
BufferedReader reader= new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while((line= reader.readLine())!= null){
System.out.println(line);
}
reader.close();
//该干的都干完了,记得把连接断了
connection.disconnect();
}
扩展资料:关于Java HttpURLConnection使用
public static String sendPostValidate(String serviceUrl, String postData, String userName, String password){
PrintWriter out= null;
BufferedReader in= null;
String result="";
try{
log.info("POST接口地址:"+serviceUrl);
URL realUrl= new URL(serviceUrl);
//打开和URL之间的连接
URLConnection conn= realUrl.openConnection();
HttpURLConnection httpUrlConnection=(HttpURLConnection) conn;
//设置通用的请求属性
httpUrlConnection.setRequestProperty("accept","*/*");
httpUrlConnection.setRequestProperty("connection","Keep-Alive");
httpUrlConnection.setRequestProperty("user-agent","Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1;SV1)");
httpUrlConnection.setRequestMethod("POST");
httpUrlConnection.setRequestProperty("Content-Type","application/json;charset=UTF-8");
Base64 base64= new Base64();
String encoded= base64.encodeToString(new String(userName+":"+password).getBytes());
httpUrlConnection.setRequestProperty("Authorization","Basic"+encoded);
//发送POST请求必须设置如下两行
httpUrlConnection.setDoOutput(true);
httpUrlConnection.setDoInput(true);
//获取URLConnection对象对应的输出流
out= new PrintWriter(new OutputStreamWriter(httpUrlConnection.getOutputStream(),"utf-8"));
//发送请求参数
out.print(postData);
out.flush();
//定义BufferedReader输入流来读取URL的响应
in= new BufferedReader(new InputStreamReader(httpUrlConnection.getInputStream(),"utf-8"));
String line;
while((line= in.readLine())!= null){
result+= line;
}
//
// if(!"".equals(result)){
// BASE64Decoder decoder= new BASE64Decoder();
// try{
// byte[] b= decoder.decodeBuffer(result);
// result= new String(b,"utf-8");
//} catch(Exception e){
// e.printStackTrace();
//}
//}
return result;
} catch(Exception e){
log.info("调用异常",e);
throw new RuntimeException(e);
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
catch(IOException e){
log.info("关闭流异常",e);
}
}
}
}