关于多系统的相互登录,连接,通常都考虑到安全问题会把一些信息隐藏起来,我们在这里使用servlet的方式封装
再在页面上使用post方式进行提交登陆,使用get方式会存在一些问题,比如编码规则不一致(其他忘记了,当时没有记录)
package
servlets;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
java.io.IOException;
import
java.io.PrintWriter;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
javax.servlet.Servlet;
import
javax.servlet.ServletException;
import
javax.servlet.http.HttpServlet;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import
javax.servlet.http.HttpSession;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
import
com.sac.common.bean.UserData;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
public
class
PjLogin
extends
HttpServlet
implements
Servlet
...
{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public PjLogin() ...{
super();
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest arg0, HttpServletResponse arg1)
*/
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException ...{
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest arg0, HttpServletResponse arg1)
*/
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException ...{
arg1.setHeader("Pragma", "No-cache");
arg1.setHeader("Cache-Control", "no-cache");
arg1.setHeader("Expires", "0");
arg1.setHeader("Content-Type","text/html; charset=GBK");
arg1.setCharacterEncoding("UTF-8");
arg0.setCharacterEncoding("GBK");
PrintWriter out = arg1.getWriter();
String type = arg0.getParameter("type");
HttpSession session = arg0.getSession();
Object obj = session.getAttribute("pjcode");
String pjcode = obj==null?"":obj.toString();
String dcode = arg0.getParameter("dcode");
UserData userData=(UserData)arg0.getSession().getAttribute("userData");//获取用户信息
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(type != null && obj != null && dcode != null && pjcode.equals(dcode))...{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(type.equals("type1"))...{
String t_gysId = arg0.getParameter("gysId");
String gysid = t_gysId==null?"":t_gysId;//供应商名称
System.out.println("供应商名称:"+gysid);
out.println("<form name='form1' action='http://211.103.190.84:8000/hdgys/PGSuppevaluscoreListExt.action' method='post'>");
out.println("<input type='hidden' name='username' value='dccs'>");
out.println("<input type='hidden' name='password' value='PU8r8H3BvjiyDNbkaUmhBx+dDj0='>");
// System.err.println(gysid);
out.println("<input type='hidden' name='f_companyname' value='" + gysid + "'>");
out.println("</form>");
out.println("<script>form1.submit();</script>");
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
}else if(type.equals("type2"))...{
out.println("<form name='form1' action='http://211.103.190.84:8000/hdgys/LoginSuccess.action' method='post'>");
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if(userData!=null)...{
out.println("<input type='hidden' name='username' value='"+userData.getLgnm()+"'>");
System.err.println(userData.getLgnm());
out.println("<input type='hidden' name='password' value='"+userData.getPjpwd()+"'>");
System.err.println(userData.getPjpwd());
}
out.println("</form>");
out.println("<script>form1.submit();</script>");
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
}else if(type.equals("type3"))...{
out.println("<form name='form1' action='http://211.103.190.84:8000/hdgys/PESuppBlacklistList.action' method='post'>");
out.println("<input type='hidden' name='username' value='dccs'>");
out.println("<input type='hidden' name='password' value='PU8r8H3BvjiyDNbkaUmhBx+dDj0='>");
out.println("</form>");
out.println("<script>form1.submit();</script>");
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
}else if(type.equals("type4"))...{
out.println("<form name='form1' action='http://211.103.190.84:8000/hdgys/PCSuppclassActiveInfoListTree.action' method='post'>");
out.println("<input type='hidden' name='username' value='dccs'>");
out.println("<input type='hidden' name='password' value='PU8r8H3BvjiyDNbkaUmhBx+dDj0='>");
out.println("</form>");
out.println("<script>form1.submit();</script>");
}
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
jsp页面的使用:
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
<%
...
@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"
%>
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
<%
...
@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"
%>
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
<%
...
@taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"
%>
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
<%
...
@page import="com.sac.common.Pub"
%>
<
html:html
>
<
HEAD
>
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
<%
...
@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"
%>
<
META
http-equiv
="Content-Type"
content
="text/html; charset=GBK"
>
<
META
name
="GENERATOR"
content
="IBM Software Development Platform"
>
<
META
http-equiv
="Content-Style-Type"
content
="text/css"
>
<
LINK
href
="<%=request.getContextPath() %>/theme/Master.css"
rel
="stylesheet"
type
="text/css"
>
<
base
target
="mainFrame"
>
<
TITLE
>
test
</
TITLE
>
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
<
script
language
="JavaScript"
>
...
//document.οncοntextmenu=new Function("event.returnValue=false;");//屏蔽右键
//document.onselectstart=new Function("event.returnValue=false;");//屏蔽选择
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
</
script
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
</
HEAD
>
<
bean:define
id
="value"
name
="userMenu"
property
="ofgpfgnu"
/>
<
BODY
topmargin
="0"
leftmargin
="0"
>
<
form
name
="pjform"
action
="<%=request.getContextPath()%>/pjLogin"
method
="post"
target
="_blank"
>
<
input
type
="hidden"
name
="type"
value
=""
>
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
<%
...
String pjcode = Pub.createRan();
String css="";
session.setAttribute("pjcode",Pub.createRan());
%>
<
input
type
="hidden"
name
="dcode"
value
="<%=pjcode%>"
>
</
form
>
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
<%
...
-- 左侧菜单开始 --
%>
<
div
style
=width:160;height:450;background:#daf1f7
>
<
TABLE
cellSpacing
=0
cellPadding
=0
width
=160
border
=0
>
<
TBODY
>
<
A
class
=white2
href
="#"
onClick
="pjform.type.value='type4';pjform.submit();return false;"
>
登录4
</
A
>
<
A
class
=white2
href
="#"
onClick
="pjform.type.value='type2';pjform.submit();return false;"
>
登录2
</
A
>
<
A
class
=white2
href
="#"
onClick
="pjform.type.value='type3';pjform.submit();return false;"
>
登录3
</
A
>
</
TBODY
>
</
TABLE
><
div
style
='LEFT:0;WIDTH:160;POSITION:absolute;TOP:446;height:11;'
>
<
table
width
="100%"
height
="11"
border
="0"
cellpadding
="0"
cellspacing
="0"
>
<
tr
><
td
><
img
src
="<%=request.getContextPath()%>/images/hn-left_r7_c1.gif"
width
="160"
height
="11"
/></
td
></
tr
></
table
></
div
></
div
>
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
<%
...
-- 左侧菜单结束 --
%>
<
noscript
>
<
iframe
src
="nosaveas.html"
style
="display:none"
></
iframe
>
</
noscript
>
</
BODY
>
</
html:html
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)