使用Ajax入门
    Js:  
<script type="text/javascript">
  	var xmlHttpRequest;
  	//创建XMLHttpRequest对象
  	function createXMLHttpRequest()
  	{
  		if(xmlHttpRequest == null)
  		{
  			//对于 Mozila 浏览器
	  		if(window.XMLHttpRequest)
	  		{
	  			xmlHttpRequest = new XMLHttpRequest();
	  		}
	  		//对于 IE 浏览器
	  		else if(window.ActiveXObject)
	  		{
	  			try
	  			{
	  				xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
	  			}
	  			catch(e)
	  			{
	  				try
	  				{
	  					xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");	
	  				}
	  				catch(e)
	  				{	  					
	  				}
	  			}
	  		}
  		}
  	}
  	//发送请求
  	function sendRequest()
  	{
  		var name = document.getElementById("name");
  		var pass = document.getElementById("pass");
  		var nameValue = name.value;
  		var passValue = pass.value;
  		createXMLHttpRequest();
  		var url = "LoginServlet";
  		xmlHttpRequest.open("POST", url, true);
  		xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  		xmlHttpRequest.onreadystatechange = processResponse;
  		xmlHttpRequest.send("name="+nameValue+"&pass="+passValue);
  	}
  	//处理服务器响应
  	function processResponse()
  	{
  		if(xmlHttpRequest.readyState == 4)
  		{
  			if(xmlHttpRequest.status == 200)
  			{
  				document.getElementById("msg").innerHTML = xmlHttpRequest.responseText;
  			}
  		}
  	}
  	function check()
  	{
  		var name = document.getElementById("name");
  		var pass = document.getElementById("pass");
  		var nameValue = name.value;
  		var passValue = pass.value;
  		var msg = "";
  		if(nameValue == null || nameValue == "")
  		{
  			msg += "用户名为空 \n";
  		}
  		if(passValue == null || passValue == "")
  		{
  			msg += "密码为空 \n";
  		}
  		if(msg == null || msg == "")
  		{
  			sendRequest();
  		}
  		else
  		{
  			document.getElementById("msg").innerHTML = msg;
  		}
  	}
  </script>
Servlet:
	public void service(HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException {
		String name = request.getParameter("name");
		String pass = request.getParameter("pass");
		if (name == null || pass == null) {
			PrintWriter out = response.getWriter();
			out.println("用户名和密码都不能为空");
		}
		if(ChatService.instance().validLogin(name, pass)){
			forward("/chat.jsp",request,response);
		}else{
			PrintWriter out = response.getWriter();
			out.println("用户名或密码错误");
		}
	}
	private void forward(String url, HttpServletRequest request,
		HttpServletResponse response) throws ServletException, IOException {
		ServletContext sc = getServletConfig().getServletContext();
		RequestDispatcher rd = sc.getRequestDispatcher(url);
		rd.forward(request, response);
	}