📄 httplogin.java
字号:
/**
* @作者: 胡俊
* @创建时间: 2008-03-05
* @更新时间: 2008-03-05
* @描述:
*
*/
package com.nari.pmos.proxy.client;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.URL;
import java.net.URLConnection;
import com.nari.pmos.amm.amm.ViewSet;
import com.nari.pmos.amm.view_amm.User_View_View;
/**
* @author hujun
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
//备份
public class HttpLogin {
private String jSessionId = null;
private String httpUrl = "";
private String user = "";
private String pwd = "";
private boolean isLogon = false;
private int log_detail = -3; //2008-04-10
private final ViewSet viewSet = new ViewSet();
private final ServletLocator locator = new ServletLocator();
/**
*
*/
public HttpLogin() {
super();
// TODO Auto-generated constructor stub
}
public boolean logon() {
isLogon = false;
Integer N = new Integer(2);
int n = -1;
// === 通过http协议访问 servlet ===============================
try {
// System.out.println("httpURL: " + httpURL);
String urlStr = httpUrl + "?proxymode=logon";
System.out.println(urlStr);
URL url = new URL(urlStr);
URLConnection urlconn = url.openConnection();
// 初始化连接
urlconn.setUseCaches(false);
urlconn.setDoOutput(true);
urlconn.setDoInput(true);
// 准备,然后向http服务器发送数据(串行化对象),http服务器由相应的servlet接收并处理
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
// Flush 数据缓冲区
out.writeObject(N);
out.writeObject(user);
out.writeObject(pwd);
out.flush();
byte buf[] = byteOut.toByteArray();
System.out.println("buf.length is " + buf.length);
// 设置属性
urlconn.setRequestProperty("Content-type",
"application/octet-stream");
urlconn.setRequestProperty("Content-length", "" + buf.length);
// 发送数据(数据的流向是根据JVM来定的,此时数据从JVM中流出去)
DataOutputStream dataOut = new DataOutputStream(urlconn
.getOutputStream());
dataOut.write(buf);
dataOut.flush();
dataOut.close();
// System.out.println(urlconn);
// 等待并读取服务器响应数据
ObjectInputStream in = new ObjectInputStream(urlconn
.getInputStream());
// 读取数据
jSessionId = (String) in.readObject();
N = (Integer) in.readObject();
n = N.intValue();
this.setLog_detail(n); //2008-04-10
System.out.println("n is " + n);
viewSet.clear();
for (int i = 0; i < n; i++) {
User_View_View uv = (User_View_View) in.readObject();
// System.out.println(uv);
viewSet.add(uv);
}
in.close();
} catch (Exception e) {
e.printStackTrace();
}
// 处理读入的列表
// ===========================================================
if (n > 0) {
locator.setUrl(this.httpUrl);
locator.setUsrAccount(this.user);
locator.setUsrPwd(this.pwd);
locator.setJsessionID(this.jSessionId);
this.isLogon = true;
} else {
locator.setUrl("");
locator.setUsrAccount("");
locator.setUsrPwd("");
locator.setJsessionID("");
this.isLogon = false;
}
return isLogon;
}
public void logout() {
locator.setUrl("");
locator.setUsrAccount("");
locator.setUsrPwd("");
locator.setJsessionID("");
this.isLogon = false;
}
/**
* @return Returns the httpUrl.
*/
public String getHttpUrl() {
return httpUrl;
}
/**
* @param httpUrl
* The httpUrl to set.
*/
public void setHttpUrl(String httpUrl) {
this.httpUrl = httpUrl;
}
/**
* @return Returns the jSessionId.
*/
public String getJSessionId() {
return jSessionId;
}
/**
* @param sessionId
* The jSessionId to set.
*/
public void setJSessionId(String sessionId) {
jSessionId = sessionId;
}
/**
* @return Returns the pwd.
*/
public String getPwd() {
return pwd;
}
/**
* @param pwd
* The pwd to set.
*/
public void setPwd(String pwd) {
this.pwd = pwd;
}
/**
* @return Returns the user.
*/
public String getUser() {
return user;
}
/**
* @param user
* The user to set.
*/
public void setUser(String user) {
this.user = user;
}
/**
* @return Returns the viewSet.
*/
public ViewSet getViewSet() {
return viewSet;
}
/**
* @return Returns the isLogon.
*/
public boolean isLogon() {
return isLogon;
}
public int getLog_detail() {
return log_detail;
}
private void setLog_detail(int log_detail) {
this.log_detail = log_detail;
}
/**
* @return Returns the locator.
* @描述 建议不要直接使用这个方法
*/
public ServletLocator getLocator() {
return locator;
}
/**
* @return Returns the ejb Proxy.
* @创建日期 2008-03-05
*/
public Object getEjb(Class classInterface) {
Object obj = null;
try{
obj = locator.locateEjb(classInterface);
}catch(Exception e){
//log.error("" + e.getMessage());
obj = null;
}
return obj;
}
/**
* @return Returns the web session bean Proxy.
* @创建日期 2008-03-05
*/
public Object getBean(Class classInterface) {
Object obj = null;
try{
obj = locator.locateBean(classInterface);
}catch(Exception e){
//log.error("" + e.getMessage());
obj = null;
}
return obj;
}
/**
* @return Returns the web frame bean Proxy.
* @创建日期 2008-03-05
*/
public Object getFrameBean(Class classInterface) {
Object obj = null;
try{
obj = locator.locateFrameBean(classInterface);
}catch(Exception e){
//log.error("" + e.getMessage());
obj = null;
}
return obj;
}
public static void main(String[] args) {
HttpLogin httpLogin = new HttpLogin();
httpLogin.setUser("dev_01");// account
httpLogin.setPwd("1");
// httpLogin.setHttpUrl("http://127.0.0.1:8080/pmos2000/nari/ProxyServlet");
httpLogin
.setHttpUrl("http://127.0.0.1:8080/pmos2000/pmos2000/ProxyServlet");
if (httpLogin.logon())
System.out.println("logon OK!");
else
System.out.println("logon Failed!");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -