中文乱码的处理方式(AJAX)

index.jsp//前台jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">   
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    <script type="text/javascript" src="ajaxjs/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="ajaxjs/verify.js"></script>   
  </head>
 
  <body>
    用户名:<input type="text" id="username"/><br/>
    <input type="button" value="提交" onclick="func()"/>
    <div id="result"></div>
  </body>
</html>

 

 

 

verify.js//javaScript
function func(){
    var jqueryObj = $("#username");
    var userName = jqueryObj.val();

    var url = "AJAXServlet?name=" + encodeURI(encodeURI(userName)) ;
    url = convertURL(url);
    $.get(url,null,callback);
    //$.post("AJAXServlet",{name:userName},callback);//ok
}

function callback(data){
    var resultObj = $("#result");
    alert(data);
    resultObj.html(data);
}
    
function convertURL(url){
    var timstamp = (new Date()).valueOf();
    if(url.indexOf("?")>=0){
        url = url + "&t=" + timstamp;
    }else{
        url = url + "?t=" + timstamp;
    }
    return url;
}

AJAXServlet.java//这是一个后台处理的Servlet

import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AJAXServlet extends HttpServlet {
    private static final long serialVersionUID = 475800438484791392L;
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
       
        Integer inte =(Integer)request.getSession().getAttribute("inte");
        int temp = 0;
        if(inte == null){
            temp = 1;

        }else{
            temp = 1 +inte.intValue();
        }
        request.getSession().setAttribute("inte", temp);
           
        String name = request.getParameter("name");
        System.out.println(name);
        //name = new String(name.getBytes("ISO-8859-1"),"UTF-8");
        name=URLDecoder.decode(name,"UTF-8");
        System.out.println(name);
        if(name == null || name.length() == 0){

            out.println("The username should not null!!!+++"+inte);

        }else{
            if(name.equals("lichao")){
                out.println("The username["+name+"]has had!+++"+inte);
            }else{
                out.println("The username["+name+"]can use!+++"+inte);
            }
           
        }
        out.flush();
        out.close();
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request,response);
    }

}

你可能感兴趣的:(JavaScript,java,Ajax,jsp,servlet)