|
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.justep.biz.client.ActionEngine;
public class DoLoginX5 extends com.justep.ui.impl.JProcessorImpl {
public void execute(HttpServletRequest request, HttpServletResponse response) throws IOException {
//http://localhost:8080/x5/UI2/portal_X/DoLoginX5.j?T=130404199203191511
// 从请求中获取身份证号
String IDCard = request.getParameter("T");
// 根据身份证号查询登录账号密码
String sql = "select sCode,sPassWord from casic_sys.sa_opperson where sIDcard = '" + IDCard + "'";
List<Map<String, Object>> ls = DBManager.executeQueryList(sql);
Iterator<Map<String, Object>> it = ls.iterator();
String loginName = "";
String password = "";
while (it.hasNext()) {
Map<?, ?> hm = (Map<?, ?>) it.next();
loginName = (String) hm.get("SCODE");
password = (String) hm.get("SPASSWORD");
}
// 判断系统是否有这个用户
if (!"".equals(loginName) && !"".equals(password)) {
// 初始化业务服务器地址
// Properties props = new Properties();
// InputStream in = DoLoginX5.class.getResourceAsStream("Database.Property");
// props.load(in);
String businessServer = "http://localhost:8080/BusinessServer";
// 获取本地IP地址
String localIP;
localIP = java.net.InetAddress.getLocalHost().getHostAddress();
// Database.Property初始化动作引擎
ActionEngine.init(businessServer);
// 登录
String bSessionID = ActionEngine.login(loginName, password, localIP, null);
if (!"".equals(bSessionID)) {
String url = "http://localhost:8080/x5/UI2/portal/pc/index.w?bsessionid="+bSessionID+"&language=zh_CN";
response.sendRedirect(url);
System.out.println("登录到首页");
}
// 退出
ActionEngine.logout(bSessionID);
} else {
//如果系统没有这个用户,则跳转到登录页面
String url = "http://localhost:8080/x5/UI2/portal/pc/index.w";
response.sendRedirect(url);
System.out.println("没有用户,登录到登录页");
}
}
}
用的版本是3.2.1,我希望得到用户的bSessionID直接进入到系统的首页,请问应该怎么操作,现在只能到登录页面。 |
|