项目中遇到从系统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();
}
分享到:
相关推荐
MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书分为两部分,需 要全部下载下载一起解压,此部分为第一部分 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 ...
javaweb 结合了servlet mysql Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的...
MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书分为两部分,需 要全部下载下载一起解压,此部分为第二部分 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 ...
MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发...
在web项目开发中,很多情况下都可以让同一个账号信息在不同的...一般解决这种情况有两种解决方案,小编呢主要以第二种方式给大家介绍具体的实现方法,对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、服务器...
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波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字 Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...
Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字 Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...
javaweb登入注册+答题系统 解决了反之用户重复登陆:servlet+json+ajax+js
登陆报错的问题 登录 java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 问题 导入数据库乱码解决方案: 人才管理系统项目详细文档说明 ========================================= 系统安装...
第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、服务器...
第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、服务器...
还有一个好处就是,当员工从客户端登陆时,系统需要经过一系列的鉴权,过程非常复杂,而处理鉴权的过程很耗费时间,这样就非常影响员工使用客户端的体验,在服务器端配置缓存,能很好的解决这些麻烦。 下面代码是...
企业实用技能之详解(眼睛横纹模式验证码防止恶意登陆) 动态页面的静态化处理 图片上传技术 在springMVC中实现原始的Excel文件下载方式 企业级分布式缓存技术之(redis详解) 企业高并发基石(Tomcat服务器性能优化) ...
第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、服务器...
前段时间的一个web项目搞了个指纹登陆,用的是中控的Biokey 开发工具,安装控件驱动神马的, 就不多说了,zkonline的SDK里都有,由于指纹需要在服务器端做比对,但SDK里只提供了DLL库的方式来解决比对问题,所以需要...
BookStore_base1网上书店java web,无框架基于MVC的分层设计思路。登陆,注册:利用ajax验证用户名是否存在,登陆验证码防止恶意注册,session中存储用户判断用户是否登陆,对servlet进行了优化,在我的账户可以退出...
选题阶段,院系管理员可以进行的操作有:审核老师上传的课题,设置学生选题的开始时间和结束时间,查看选题情况,解决教师与学生之间双向选择的冲突,使之平衡。 过程阶段,院系管理员可以进行的操作有:查阅...