预览模式: 普通 | 列表
08-12
05

response.encodeRedirectURL作用

Session在使用的过程中是需要SessionID来获取的。而这个SessionID是存放在客户端的cookie中。那么假如你的浏览器关闭了cookie功能的话将不能使用Session。解决的办法就是通过URL重写。
URL重写功能其实就是对URL进行一个编码加密,客户端看不到真实的URL。而且它还有一个重要的功能就是每次进行完URL重写之后都会将SessionID放置到URL中。这样每次服务器在获取相应的Session时需要的SessionID可以从URL中找到。而且URL还进行了加密,增强了安全性。

<a href="www.bug.com/admin/info.jsp">Info List</a>  改为:

<a href="<%=response.encodeRedirectURL("www.bug.com/admin/info.jsp")%>">Info List</a>

又如:

查看更多...

Tags: url

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 841
08-12
05

重写URL时候,Session失效解决办法

我目的是把JSP页面转换成静态的HTML,url.openConnection()中的url是我项目中的JSP文件的路径,由于项目的页面有验证session是否失效,所以当url.openConnection()打开的页面时候session是空的,处理Session:ts.setRequestProperty("Cookie", "JSESSIONID=" + sessionId);request.getSession().getId()  

代码如下:
public void getHtmlReport(String[] urlList,String protocol,String host,String sessionId ){
try    
  {    
    if(urlList.length  <  1)  
          {  
    log.debug("Use:  java  TestSocket  所要转换的页面的URL  [转换后要保存的文件名]");

查看更多...

Tags: HttpURLConnection url

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 697
08-12
05

java.net.HttpURLConnection的使用

突然需要做一个Java的Ajax代理,只好又操起java来了。。。。。。写好了再放出源码

转贴内容:

web登陆无非就是网页获取,cookie 的管理,post和get方式的模拟。

1.网页内容获取
java.io.inputstream in;
java.net.url url = new java.net.url(www.xyz.com/content.html);

查看更多...

Tags: HttpURLConnection url

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 519
当通过URLConnection第一次和服务器发起POST或是GET请求以后,通过getHeaderField方法获得SessionID,具体方法为:

String session_value=getHeaderField("Set-Cookie");

第二次发起POST或是GET请求的时候需要把刚才获得的SessionID放置在请求的头部然后再提交,这样就能服务器就会认为是同一个Session请求了,具体方法为:

setRequestProperty("Cookie", session_value);

如果取得Set-Cookie的值比较长,取值到分号前即可 如 JSESSIONID=575F7196EDB52825D288F4061C66BC29;

查看更多...

Tags: url POST

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 786
08-12
04

URLConnection

构造了一个URL之后,可以使用URL类中的方法访问URL指向的网络资源:

public URLConnection openConnection()

openConnection()方法会尝试连接URL指向的网络资源,然后返回封装了操作连接的类java.net .URLConnection的一个实例。

URLConnection是封装访问远程网络资源一般方法的类,通过它可以建立与远程服务器的连接,检查远程资源的一些属性。其中一些数据操作方法如下:

public void connect();

查看更多...

Tags: url

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 499
08-12
04

Cannot forward after response has been committed转发

推荐java.lang.IllegalStateException:Cannot forward after response has been committed异常出现的原因是因为
servlet.getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);
这个转发下面的必须要有一个return来返回,是不是必须用null,还没搞清楚
      return null ;


这样写就没的问题了:

servlet.getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);
      return null ;

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 818