代码:
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());
详情查看: