</div> </font> </body> </html> --------------------js文件------------------- var xhttp; function show(){ alert("show"); createXMLHttpRequest(); var name = document.getElementById("name").value;
var url = "servlet?name="+encodeURI(name);//aaaaaaaaaaaaaaa alert("you input number"+name); xhttp.open("POST",url,true); xhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhttp.onreadystatechange=callback;
xhttp.send(null);
} function callback(){ if (xhttp.readystate==4){ if (xhttp.status ==200){ alert("form servlet"+xhttp.responseText); document.getElementById("result").innerHTML = xhttp.responseText; //$("#result").html = xhttp.responseText } } } function createXMLHttpRequest(){ if (window.XMLHttpRequest){ xhttp = new XMLHttpRequest(); alert("showXMLHttpRequest"); }else if (window.ActiveXObject){ try{ xhttp = new ActiveXObject("Msxml2.XMLHTTP"); alert("showMsxml2.XMLHTTP"); }catch(e){ xhttp = new ActiveXObject("Microsoft.XMLHTTP"); alert("showMicrosoft.XMLHTTP"); }
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.net.URLDecoder;public class testservlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//request.setCharacterEncoding("UFT-8");
//response.setCharacterEncoding("contentType=text/html;charset=UFT-8");
PrintWriter out = response.getWriter();
//1
//解决乱码,在客户端,用encodeURI(发送的数据),
//服务端,用new String(request.getParameter("name").getBytes("iso8859-1"),"GBK");
//String name = new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");
//2
//在客户端,用二个encodeURI(发送的数据),
//服务端,用URLDecoder.decode(name,"utf-8");
String name = URLDecoder.decode(request.getParameter("name"),"UFT-8");
System.out.println("you input name is ="+name);
System.out.println("you input name is2 ="+name);
out.println(name);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
public void init() throws ServletException {
// Put your code here
}}
-------------------jsp page-----------------------
<%@ page contentType="text/html;charset=GBK" language="java" %>
<html>
<head>
<title>Ajax解决中文乱码</title>
</head>
<script type="text/javascript" src="jquery.js"> </script>
<script type="text/javascript" src="js.js"> </script>
<body>
请输入你的姓名:
<input type="text" id="name"/>
<input type="button" onclick="show()" value="确定"/>
<font color="red">
<div id="result">
</div>
</font>
</body>
</html>
--------------------js文件-------------------
var xhttp;
function show(){
alert("show");
createXMLHttpRequest();
var name = document.getElementById("name").value;
var url = "servlet?name="+encodeURI(name);//aaaaaaaaaaaaaaa
alert("you input number"+name);
xhttp.open("POST",url,true);
xhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhttp.onreadystatechange=callback;
xhttp.send(null);
}
function callback(){
if (xhttp.readystate==4){
if (xhttp.status ==200){
alert("form servlet"+xhttp.responseText);
document.getElementById("result").innerHTML = xhttp.responseText;
//$("#result").html = xhttp.responseText
}
}
}
function createXMLHttpRequest(){
if (window.XMLHttpRequest){
xhttp = new XMLHttpRequest();
alert("showXMLHttpRequest");
}else if (window.ActiveXObject){
try{
xhttp = new ActiveXObject("Msxml2.XMLHTTP");
alert("showMsxml2.XMLHTTP");
}catch(e){
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
alert("showMicrosoft.XMLHTTP");
}
}
}