$.ajax()+servlet登陆的问题,我真的很想弄懂它

html

 <input type="text" name="username" id="username"/>**用户名输入框**
<input type="button" class="buttontype2" id="login" value="登录" onclick="checkUser();" />**这是一个登陆按钮,触发checkUser()方法**

js:

 function checkUser(){
            var username = $("#username").val();
            var password = $("#password").val();
            $.ajax({
                type: "post",
                url: "logincheck",
                data: "username"+username+"password"+password,
                success: function(data){
                    username = "<%=Session("username")%>";
                    alert(username);
                }

            });
        }
        **js部分,因为我才刚刚接触!弄不懂,我只知道,这个$.ajax()方法会向服务器提交username和password,然后servlet与数据库进行处理**

#   servlet
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html");
        response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();

        String un = request.getParameter("username");
        String pd = request.getParameter("password");

        userCheck uc = new userCheck();
        String res = uc.getUser(un,pd);

        if(!res.equals("userwrong") && !res.equals("passwordwrong"))
        {
            request.getSession().setAttribute("username", res);
        }
    **获得的验证的username保存到session中**

    大神能不能和我详细说一下$.ajax()这个方法,怎么发送数据到服务器,还有怎么在这个方法里取回服务器的数据(username)

首先解释下。 session是 服务端执行的。success是在浏览器端执行的。所以你直接在success里面取session的值是没用的。
整个的执行过程是 浏览器$AJAX发起请求->Web容器收到请求,响应->浏览器接收到响应数据。执行success
响应数据在success:function(data){} 的data里面。
要给前台响应数据你需要用response进行响应。

                    response.setContentType("application/json; charset=utf-8");
        response.setCharacterEncoding("utf-8");
        response.getWriter().write(json);
        response.getWriter().flush();
        response.getWriter().close();

用户名:
密码:

这是html部分

<input type="button" class="buttontype2" id="login" value="登录" onclick="checkUser();"
用户名:<input type="text" name="username" id="username"
为什么html显示不出来...

ajax里面的data{'username':username,'password':password},
接收request.getParameter("username");

用户名:
看看行不行

ajax提交就是和表单提交一样,只是ajax不会解析浏览器返回的script脚本,如果服务器端response.redirect跳转了,也不会控制浏览器跳转,而是继续请求跳转的页面,获取跳转页面的内容

 点击插入代码片才能显示html,
ajax的data:{"username":username,"password":password}这样后台才能使用request.getParameter("username");得到,
至于怎么发送的,反正使用http方式,可以百度http的get和post发送方式