日期:2014-05-20  浏览次数:20857 次

求帮忙。我新手刚接触
我想用jquery做一个ajax的验证用户名是否存在的功能。
我用的是IIS7.0。
我写了一个Servlet.
package Servlet;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;

public class loginServlet extends HttpServlet {
  public loginServlet(){
  super();
  }

  @Override
  public void init()throws ServletException {
  }

  public void destory(){
  super.destroy();
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse
  response)throws ServletException, IOException {
  response.setContentType("text/html;charset=GB2312");
  PrintWriter out = response.getWriter();
  String old = request.getParameter("username");

  try{
  if(old == null || old.length() == 0){
  out.println("用户名不能为空");
  }else{
  String name = new String(old.getBytes("ISO8859-1"));
  if(name.equals("nihao")){
  out.println("用户名["+name+"]已经存在,请使用其它用户名!");
  }else{
  out.println("用户名["+name+"]尚未存在,可以使用这个用户名!");
  }
  }
  out.println("<br><a href=\"index.html\">返回验证页面</a>");
  }catch(UnsupportedEncodingException e){
  e.printStackTrace();
  }
  }

  protected void doPost(HttpServletRequest request,HttpServletResponse
  response)throws ServletException, IOException {
  doGet(request, response);
  }

}



Js页面是这样写的。。
/**
通过js
1.button按下事,获取文本框数据发送给服务器,最后接受服务器返回的数据。填充到预留div中
2.在文本框上,用户按建后文本框是否为空,如果不为空,红色边框消失

*/
//页面装载完成执行
//1.button被按下的时候。把东西发服务器,接受服务器相应的。填充到div中
$(document).ready(function(){
//装载完成后执行的

//找到button按钮.button按下事件
$("#mybutton").click(function(){
//1.获取文本框内容
alert("111");
var username=$("username").val();
//2.将内容发送服务器.
if(username==""){
alert("空"); }
else{
alert("111");
//get方法可以实现ajax对服务端交互
//常用有get,post方法
//参数有 url,你要发送的参数,回调函数(url内拼接参数,发送的是username),下面的(response是返回回调形式(纯文本))
$.get("127.0.0.1:8080/loginServlet?username="+username,null,function(response){
//3.接受服务器短数据。填充到div
//html方法可以设置找到节点的html属性

$("#result").html(response);
});

}
});
//2在文本框上,用户按键后。需要判断是否为空,如果不为空,红色边框消失
//找到文本框注册事件
$("#username").keyup(function(){
//获取当前文本框中的内容
var value=$(this).val; //username所对应的文本框
//给 input 上的username加上class属性=usertext;
//把CSS上的#换成.名字改成usertext
if(value==""){
//让边框变成红色并且带背景图
$(this).addClass("usertext");
}
else{
//去掉边框
$(this).removeClass("usertext");
}

});
});


现在出现的问题是。用127.0.0.1打开页面,根本就不走js,比如说为空判断这里。根本就不走。
我还有一个疑惑。我不太会java,我就写了一个Servlet,之后就把Servlet.java这个文件还有web.config,放在了我的iis项目文件夹下了。

这样可以么。[/URL]][/img]

如果不可以请各位教教我啊,,我看视频教程学的。他没说怎么写那些东西。就说了jquery的代码。。

------解决方案--------------------
你JS文件放哪的呀, 有没引用呀, 
在引用前要先引用 jquery 咯