servlet:
public class JsonAjaxServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
String userName = request.getParameter("userName");
userName = URLDecoder.decode(userName, "UTF-8");
String content = request.getParameter("content");
content = URLDecoder.decode(content, "UTF-8");
System.out.println("userName:" + userName);
System.out.println("content:" + content);
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
// 将数据拼接成JSON格式
out.print("{\"yourName\":\"" + userName + "\",\"yourContent\":\"" + content + "\"}");
out.flush();
out.close();
}
}
jsp:(只截取javascript部分)
<script type="text/javascript">
function jsonAjaxPost(){
var userNameObj=$("#username").val();
var contentObj=$("#content").val();
$.ajax({
type:"post",//请求方式
url:"jsonAjaxAction?userName="+encodeURI(encodeURI(userNameObj))
+"&content="+encodeURI(encodeURI(contentObj)),//发送请求地址,encodeURI把中文的请求也转成utf-8格式
timeout:30000,//超时时间:30秒
dataType:"json",//设置返回数据的格式
//请求成功后的回调函数 data为json格式
success:function(data){
$("#resultJsonText").text("你的名字:"+data.yourName+" 你输入的内容:"+data.yourContent);
},
//请求出错的处理
error:function(){
alert("请求出错");
}
});
}
</script>
mapping:
<servlet>
<servlet-name>jsonAjaxAction</servlet-name>
<servlet-class>liuhuan.JsonAjaxServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>jsonAjaxAction</servlet-name>
<url-pattern>/we</url-pattern>
</servlet-mapping>