jsp代码:即form表单
<form action=""> <table align="center"> <tr><td>用户名:</td><td><input type="text" name="username" id="id1"><span id="msg1"></td></tr> <tr><td>密码:</td><td><input type="password" name="password" id="id2"><span id="msg2"></td></tr> <tr><td><a href="GoodsServlet?method=list"><input id="sub" type="button" value="登录"></a></td><td><input type="reset" value="重置"></td></tr> <tr><td><a href="page/zhuce.jsp"><p>点击注册</p></a></td></tr> </table> </form>js代码: 注意:需要引入jquery文件:
<script type="text/javascript" src="js/jquery-1.8.2.js"></script> <script type="text/javascript"> $(function(){ $("#id1").blur(function(){ if($('#id1').val()==""){ alert("请输入用户名"); }else{ //使用ajax方法 $.ajax({ //具体的java代码所在的servlet url:"UserAjaxServlet", //传输方式 type:"post", //从jsp页面上,传到servlet的数据,可以多个,用逗号隔开. data:{username:$("#id1").val() }, //传输数据的格式,此处用到的是json格式,当然接收到的来自servlet的数据也需要是json格式的 dataType:"json", //传输成功返回的方法,参数为ajax内部的msg success:function(msg){ //具体的从servlet传来的数据,第一个msg是ajax的,第二个是自己定义的 $("#msg1").text(msg.msg); }, }); } }); });servlet,后台代码:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { JSONObject j = new JSONObject(); request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); //拿到从前台通过ajax传过来的数据 String username = request.getParameter("username"); String password = request.getParameter("password"); //sql语句 String sql = "select username from t_user"; if (username != null && password == null) { try { Connection conn = CreateConnection.getConnection(); Statement sta = conn.createStatement(); ResultSet set = sta.executeQuery(sql); boolean flag = true; while (set.next()) { System.out.println(set.getString("username")); //判断从前台来的username是否和从数据库中查到的数据匹配? if (username.equals(set.getString("username"))) { //匹配到,flag为true,并且跳出循环 flag = true; break; } else { flag = false; } } //通过flag的值对前台发送信息 if (flag) { //匹配成功,调用JSONObject的对象,设置要传到前台的值 j.put("msg", "合法"); //写出 out.write(j.toString()); } else { j.put("msg", "该用户不存在"); out.write(j.toString()); } conn.close(); } catch (SQLException e) { e.printStackTrace(); } }在servlet中,因为要到了json数据,所以引入了一个jar包,
import net.sf.json.JSONObject;其他的都还好.没什么难点,主要掌握ajax中的传向servlet数据的方法,以及servlet传回ajax的数据,也就是前台的数据.