日期:2014-05-19  浏览次数:20849 次

java 后台认证网页的用户名和密码登录网页???
本人想实现在java后台进行网页的用户名和密码认证,进而登录网站打开网页,如何实现?求源码?求各位大手解析!!!急~~~~~!!!!!!!!
java 网络爬虫

------解决方案--------------------
登录的 login.jsp
<%@ page contentType="text/html;charset=gbk" language="java" %>
<%@ page import="java.util.*"%>
<%@ page import="com.wgh.UserInfo"%>
<%@ page import="com.wgh.UserListener"%>
<%
request.setCharacterEncoding("gbk");
String username=request.getParameter("username"); //获得登录用户名
UserInfo user=UserInfo.getInstance(); //获得UserInfo类的对象
session.setMaxInactiveInterval(600); //设置Session的过期时间为10分钟
Vector vector=user.getList();
boolean flag=true; //标记是否登录的变量
//判断用户是否登录
if(vector!=null&&vector.size()>0){
for(int i=0;i<vector.size();i++){
if(user.equals(vector.elementAt(i))){
out.println("<script language='javascript'>alert('该用户已经登录');window.location.href='index.jsp';</script>");
flag=false;
break;
}
}
}
//保存用户信息
if(flag){
UserListener ul=new UserListener();
ul.setUser(username);
session.setAttribute("user",ul);
session.setAttribute("username",username);
user.addUser(ul.getUser());
//保存当前登录的用户名
session.setAttribute("loginTime",new Date().toLocaleString()); //保存登录时间
//重定向
response.sendRedirect("MessagesAction?action=loginRoom");
}
%>
------解决方案--------------------
var net=new Object(); //定义一个全局变量net
//编写构造函数
net.AjaxRequest=function(url,onload,onerror,method,params){
  this.req=null;
  this.onload=onload;
  this.onerror=(onerror) ? onerror : this.defaultError;
  this.loadDate(url,method,params);
}
//编写用于初始化XMLHttpRequest对象并指定处理函数,最后发送HTTP请求的方法
net.AjaxRequest.prototype.loadDate=function(url,method,params){
  if (!method){
    method="GET";
  }
  if (window.XMLHttpRequest){
    this.req=new XMLHttpRequest();
  } else if (window.ActiveXObject){
    this.req=new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (this.req){
    try{
      var loader=this;
      this.req.onreadystatechange=function(){
        net.AjaxRequest.onReadyState.call(loader);
      }

      this.req.open(method,url,true);
  if(method=="POST"){
this.req.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
  }
      this.req.send(params);
    }catch (err){
      this.onerror.call(this);
    }
  }
}

//重构回调函数
net.AjaxRequest.onReadyState=function(){
  var req=this.req;
  var ready=req.readyState;
  if (ready==4){
    if (req.status==200 ){
      this.onload.call(this);
    }else{
      this.onerror.call(this);
    }
  }
}
//重构默认的错误处理