`
WessonGao
  • 浏览: 27994 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java web 登陆解决方法

阅读更多
项目中遇到从系统A登陆到系统B的问题,登陆验证用的是Spring Security
当配置了Spring Security 后可以可以直接在跳转的时候 传递用户名 密码即可实现登陆
http://${projectHost}/j_spring_security_check?j_username=${userName}&j_password=${password}"

Spring Security的配置方法找度娘

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

1.网页内容获取
   
 java.io.InputStream  in;
      java.net.URL url = new java.net.URL(www.xyz.com/content.html);
      java.net.HttpURLConnection connection = (java.net.HttpURLConnection)
          url.openConnection();
      connection = (java.net.HttpURLConnection) url.openConnection();
     //模拟成IE
      connection.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");
      connection.connect();
      in = connection.getInputStream();
      java.io.BufferedReader breader =
          new BufferedReader(new InputStreamReader(in , "GBK"));
      String str=breader.readLine());
      while(st != null){
        System.out.println(str);
        str=breader.readLine());
      }

2.cookie管理


1.直接的方式
取得cookie:
HttpURLConnection huc= (HttpURLConnection) url.openConnection();
InputStream is = huc.getInputStream();
// 取得sessionID.
String cookieVal = hc.getHeaderField("Set-Cookie");
String sessionId;
if(cookieVal != null)
{
    sessionId = cookieVal.substring(0, cookieVal.indexOf(";"));
}


发送设置cookie:
HttpURLConnection huc= (HttpURLConnection) url.openConnection();
if(sessionId != null)
{
huc.setRequestProperty("Cookie", sessionId);
}
InputStream is = huc.getInputStream();


2.利用的jcookie包(http://jcookie.sourceforge.net/ )
获取cookie:
URL url = new URL("http://www.site.com/");
HttpURLConnection huc = (HttpURLConnection) url.openConnection();
huc.connect();
InputStream is = huc.getInputStream();
Client client = new Client();
CookieJar cj = client.getCookies(huc);

新的请求,利用上面获取的cookie:

url = new URL("http://www.site.com/");
huc = (HttpURLConnection) url.openConnection();
client.setCookies(huc, cj);


3.post方式的模拟
URL url = new URL("www.xyz.com");
  HttpURLConnection huc = (HttpURLConnection) url.openConnection();
//设置允许output
  huc.setDoOutput(true);
//设置为post方式
  huc.setRequestMethod("POST");
  huc.setRequestProperty("User-Agent","Mozilla/4.7 [en] (Win98; I)");
  StringBuffer sb = new StringBuffer();
  sb.append("userName="+userNme);
  sb.append("&password="+password);

//post信息
 OutputStream os = huc.getOutputStream();
 os.write(sb.toString().getBytes("GBK"));
 os.close();

BufferedReader br = new BufferedReader(new InputStreamReader(huc.getInputStream()))

huc.connect();

String line = br.readLine();

while(line != null){

System.out.printli(line);

line = br.readLine();

}



分享到:
评论

相关推荐

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书分为两部分,需 要全部下载下载一起解压,此部分为第一部分 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 ...

    javaweb 登陆界面 servlet+sql

    javaweb 结合了servlet mysql Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的...

    李兴华Java Web开发实战经典(高清版) Part2

    MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书分为两部分,需 要全部下载下载一起解压,此部分为第二部分 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 ...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发...

    Java Web开发防止多用户重复登录的完美解决方案

    在web项目开发中,很多情况下都可以让同一个账号信息在不同的...一般解决这种情况有两种解决方案,小编呢主要以第二种方式给大家介绍具体的实现方法,对java web 防止多用户重复登录的解决方案感兴趣的朋友一起看看吧

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、开发实战讲解 第2章 HTML、JavaScript简介 2.1、服务器...

    java web 视频、电子书、源码(李兴华老师出版)

    MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、...

    JAVA上百实例源码以及开源项目

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...

    JAVA上百实例源码以及开源项目源代码

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...

    javaweb登入注册+答题系统 解决了反之用户重复登陆

    javaweb登入注册+答题系统 解决了反之用户重复登陆:servlet+json+ajax+js

    java 图书管理系统

    登陆报错的问题 登录 java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 问题 导入数据库乱码解决方案: 人才管理系统项目详细文档说明 ========================================= 系统安装...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、开发实战讲解 第2章 HTML、JavaScript简介 2.1、服务器...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、开发实战讲解 第2章 HTML、JavaScript简介 2.1、服务器...

    Listener、Filter、Servlet与Java Web项目初始化项目例子 源代码

    还有一个好处就是,当员工从客户端登陆时,系统需要经过一系列的鉴权,过程非常复杂,而处理鉴权的过程很耗费时间,这样就非常影响员工使用客户端的体验,在服务器端配置缓存,能很好的解决这些麻烦。 下面代码是...

    JAVA高并发高性能高可用高扩展架构视频教程

    企业实用技能之详解(眼睛横纹模式验证码防止恶意登陆) 动态页面的静态化处理 图片上传技术 在springMVC中实现原始的Excel文件下载方式 企业级分布式缓存技术之(redis详解) 企业高并发基石(Tomcat服务器性能优化) ...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、开发实战讲解 第2章 HTML、JavaScript简介 2.1、服务器...

    java用Jnative指纹比对

    前段时间的一个web项目搞了个指纹登陆,用的是中控的Biokey 开发工具,安装控件驱动神马的, 就不多说了,zkonline的SDK里都有,由于指纹需要在服务器端做比对,但SDK里只提供了DLL库的方式来解决比对问题,所以需要...

    BookStore_base1:网上书店java web,无框架

    BookStore_base1网上书店java web,无框架基于MVC的分层设计思路。登陆,注册:利用ajax验证用户名是否存在,登陆验证码防止恶意注册,session中存储用户判断用户是否登陆,对servlet进行了优化,在我的账户可以退出...

    基于JavaWeb的毕业设计管理系统【项目源码+数据库脚本】(毕设)

    选题阶段,院系管理员可以进行的操作有:审核老师上传的课题,设置学生选题的开始时间和结束时间,查看选题情况,解决教师与学生之间双向选择的冲突,使之平衡。 过程阶段,院系管理员可以进行的操作有:查阅...

Global site tag (gtag.js) - Google Analytics