Java http请求 jsp中编写Java代码

代码:



window.open(http://**.**.**.**/CommonController/toDynimic/jsp/bingantj?zyh=1&zycs=1)


<%

    String zyh = request.getParameter("zyh");
    String zycs =request.getParameter("zycs");
    Logger logger = LoggerFactory.getLogger(this.getClass());

    String sql="select cyDate from table where zyh=:zyh and zycs=:zycs";
    HashMap<String,Object> argmap=new HashMap<>();
    argmap.put("zyh",zyh);
    argmap.put("zycs",zycs);
    DlNameParameterJdbcTemplate nbjdbcTemplate=ApplicationHome.getOne().context.getBean(DlNameParameterJdbcTemplate.class);
    List<Entity> list =nbjdbcTemplate.query(sql, argmap, new BeanPropertyRowMapper<>(Entity.class));
    Entity entity=list.get(0);

    String yhbrurl="dev|0|"+zyh+"|"+ DateUtil.formatFromDate(DateUtil.FORMATER_YYYY_MM_DD,entity.getCyDate());
    String keyurl="http://**.**.**.**/DMRWebService/DmrInfoQry.asmx/GetStrEncrypt?" +
            "key=zjey" +
            "&str="+URLEncoder.encode(yhbrurl);
    logger.error("keyurl:"+keyurl);

    HttpGet httpGet = new HttpGet(keyurl);
 httpGet.setConfig(RequestConfig.copy(RequestConfig.DEFAULT).setConnectTimeout(600*1000).setConnectionRequestTimeout(600*1000).build());
    HttpResponse httpResponse = new DefaultHttpClient().execute(httpGet);
    String keystrres=EntityUtils.toString(httpResponse.getEntity());
    logger.error("keystrres:"+keystrres);
//  keystrres:  <string xmlns="http://tempuri.org/">123456</string>
    Document doc = null;
    try {
        doc = DocumentHelper.parseText(keystrres);
    } catch (DocumentException e2) {
        e2.printStackTrace();
    }
    Element root = doc.getRootElement();// 指向根节点
//    keystrres=keystrres.substring(keystrres.indexOf("<string")+1);
//    keystrres=keystrres.substring(keystrres.indexOf(">")+1,keystrres.indexOf("</string>"));
    String url="http://**.**.**.**/UniWebBrowser/default.aspx?id="+root.getTextTrim();
    // root.getTextTrim() 123456
    response.sendRedirect(url);
%>

知识点解析:

1,在jsp中编写Java代码的方式

常用格式:<% 代码; %>

详情查看:jsp中java代码的使用;

2,想要在代码中注入dao类以及JdbcTemplate类,获取方式
  EntityDao entityDao = ApplicationHome.getOne().context.getBean(EntityDao.class);

  JdbcTemplate jdbcTemplate=ApplicationHome.getOne().context.getBean(JdbcTemplate.class);

日志获取方式

  Logger logger = LoggerFactory.getLogger(this.getClass());
3,http解析

过程:

请求——
**

请求超时时间说明

**

ConnectionRequestTimeout

httpclient使用连接池来管理连接,这个时间就是从连接池获取连接的超时时间,可以想象下数据库连接池

ConnectTimeout

连接建立时间,三次握手完成时间

SocketTimeout

数据传输过程中数据包之间间隔的最大时间
数据包间隔时间之和是6秒
如果SocketTimeout设置的时间是5秒,数据正常传输响应
如果SocketTimeout设置的时间是3秒,传输数据c时会报错,显示响应超时

在这里插入图片描述


       // 创建请求对象
        String url="";
        HttpGet httpGet = new HttpGet(url);
        //设置连接超时
        httpGet.setConfig(RequestConfig.copy(RequestConfig.DEFAULT).setConnectTimeout(600*1000).setConnectionRequestTimeout(600*1000).build());
        // 执行请求的对象
        HttpResponse httpResponse = new DefaultHttpClient().execute(httpGet);
        // 获取响应的数据
        String keystrres=EntityUtils.toString(httpResponse.getEntity());
  
     

详情查看:

HTTP请求详解含POST,GET实例;

HttpGet 请求(带参数)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值