项目中遇到从系统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自动登陆和乱码过滤器"的主题主要涵盖两个核心知识点:自动登录功能的实现和解决字符编码问题。 首先,我们来探讨自动登录功能。在许多Web应用中,为了提供更好的用户体验,开发者通常会实现“记住我”或...
在Java Web应用中,我们需要加载SQL Server的JDBC驱动,然后通过`DriverManager.getConnection()`方法建立到数据库的连接。连接建立后,可以通过`Statement`或`PreparedStatement`对象执行SQL命令,处理结果集则通过...
MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书分为两部分,需 要全部下载下载一起解压,此部分为第二部分 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 ...
### Java Login 用户登陆程序404错误解决办法 在开发Java Web应用时,尤其是在搭建用户登录功能的过程中,可能会遇到HTTP Status 404错误。这种错误通常表示服务器无法找到请求的资源,对于开发者来说,这可能意味...
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在服务器端的应用非常的...
第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开发中,Session是服务器端用于跟踪用户状态的一种机制。当用户通过用户名和密码登录系统后,服务器需要一种方式来识别这个已验证的用户,以便在后续的请求中提供个性化的服务,例如访问权限控制。这时,...
常见的解决方法有两种,本文主要探讨第二种方案。 首先,第一种解决方案是通过在数据库中添加一个标志位字段来跟踪用户的登录状态。当用户登录成功时,将该字段设置为1,注销时设置为0。这种方法虽然直观,但存在...
《Java Web应用开发》项目案例——人力资源管理系统设计文档详尽地阐述了如何使用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章 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注册登录系统详解】 Java注册登录系统是一个基础但至...通过这个项目,初学者可以全面地理解Java后端开发的各个环节,为后续的Web应用开发打下坚实的基础。不断实践和深入学习,将使开发者在IT行业中稳步前进。
基于Java-web的音乐网站设计与实现 本资源的设计和实现是基于Java-web的音乐网站,旨在为音乐爱好者提供一个音乐交流的平台。该网站系统使用Struts2作为框架,JSP作为页面载体,Mysql作为后台数据库,MyEclipse作为...
总的来说,这个开发包为想要在Web端集成海康威视摄像头功能的开发者提供了一站式的解决方案。通过深入学习和实践,开发者不仅可以了解如何使用海康的SDK,还能掌握Web服务端与硬件设备交互的基本技巧,这对于构建...
Java 1.6.20 版本是Java开发历史上的一个重要里程碑,尤其在企业级应用领域,这个版本被EMC(易安信)和华为等知名公司广泛推荐用于其Web服务和管理软件。这个选择背后的原因主要是稳定性和兼容性。Java SE 6 (也...
Struts是一个开源的MVC框架,它简化了Java Web应用程序的开发。Struts2是Struts的升级版,提供了更丰富的特性和更灵活的架构。在登录系统中,Struts或Struts2可以处理HTTP请求,管理视图与控制器之间的交互,以及...
程序应该提供友好的错误提示,帮助用户解决问题。 7. **前后端交互**:如果这是一个基于Web的应用,那么前端(HTML/CSS/JavaScript)和后端(Java)之间会有数据交换。通常使用HTTP请求(GET, POST)和响应,可能...
这个Demo是初学者学习Java Web应用开发和理解数据库交互的一个好例子。在这个项目中,我们将深入探讨以下几个关键知识点: 1. **Java连接池**:在Java应用程序中,特别是Web应用,数据库连接的创建和释放频繁进行,...
"基于java web的音乐网站的设计与实现论文" 本文是基于Java Web的音乐网站的设计与实现毕业论文,论文主要介绍了音乐网站的设计思想、开发过程、技术架构、功能实现等方面的内容。 首先,本文简要介绍了音乐网站的...