简单的servlet测试案例:包含post,get方式请求和ajax访问。
前端(\WebContent\chap01\demo01.html):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- <meta charset="gbk"> -->
<title>Insert title here</title>
<script type="text/javascript" src="../js/jquery-1.11.0.js"></script>
<script type="text/javascript">
function getContent(){
//var tip = document.getElementById("content").value;
var tip = $("#content").val();
alert(tip);
} ;
//$("content")
function getServlet(){
//get方式提交,若想用post可改用post,将下面form表单中get改为post
window.location.href ="../practice?para1=12ab"+"para2=测试"+"para3=ccc";
} ;
function getAjax(){
alert(1);
$.ajax({
async:false,
type:'post',
url:"../practice",
data:{"pa":"测试小子123"}, //若上面 type:'get',则这里的中文参数传到后台为乱码,所以要用post方式传输
dataType:'json',
success:function(data){
//alert(data);
alert(data.key);
}
});
};
</script>
</head>
<body>
<FORM METHOD=post ACTION="../practice">
<input id = "content" type="text" />
<input type ="button" id ="but" value = "点击" onclick = "getContent()"/>
<input type ="button" id ="but2" value = "测试servlet" onclick = "getServlet()"/>
<input type ="button" id ="but3" value = "测试ajax" onclick = "getAjax()"/>
<INPUT TYPE="text" NAME="aa" value="test">
<INPUT TYPE="text" NAME="bb" value="test中文">
<INPUT TYPE="text" NAME="from_url">
<INPUT TYPE="submit">
</FORM>
</body>
</html>
后端:
package com.java.web;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class PracticeServletMap extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 4959574604892362950L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
String para1 = req.getParameter("para1");
String para2 = req.getParameter("para2");
String para3 = req.getParameter("para3");
System.out.println("print === :"+para1+para2+para3);
//doGet(req, resp);//循环调用,某些情况会用到,一直读取某些条件,直到满足条件做另外的操作。
resp.sendRedirect("https:baidu.com");//重定向到百度
//this.busiService(req, resp);
//this.ajaxService(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
String aa = req.getParameter("aa");
String para1 = req.getParameter("para1");
String para2 = req.getParameter("para2");
String para3 = req.getParameter("para3");
System.out.println("print === :"+para1+para2+para3);
//doPost(req, resp);
//this.busiService(req, resp);
this.ajaxService(req, resp);
}
protected void busiService(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String para1 = req.getParameter("para1");
String para2 = req.getParameter("para2");
String para3 = req.getParameter("para3");
resp.setContentType("text/html;charset=gbk");
//输出页面
PrintWriter out = resp.getWriter();
out.print("<html>");
out.print("<head>");
out.print("<title>First jspҳ页面</title>");
out.print("</head>");
out.print("<body>");
out.print("first jspҳ参数:"+para1);
out.print("<br>");
out.print("second jspҳ参数:"+para2);
out.print("</body>");
out.print("</html>");
out.close();
}
//测试 ---返回json格式信息
protected void ajaxService(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String para1 = req.getParameter("para1");
String para2 = req.getParameter("para2");
String para3 = req.getParameter("para3");
// 设置响应内容类型
// 设置响应内容类型
resp.setContentType("text/json; charset=utf-8");
// 输出数据
PrintWriter out = resp.getWriter();
out.println("{\"key\":\"哈哈213\"}");//输出标准json格式
out.close();
}
}
web.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>HeadFirstJquery</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>ajaxServlet</servlet-name>
<servlet-class>com.java.web.AjaxServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ajaxServlet</servlet-name>
<url-pattern>/ajax</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>PracticeServletMap</servlet-name>
<servlet-class>com.java.web.PracticeServletMap</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PracticeServletMap</servlet-name>
<url-pattern>/practice</url-pattern>
</servlet-mapping>
</web-app>