servlet
package Controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.jws.WebService;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import service.StudentsService;
import service.StudentsServiceImp;
import user2_domain.Students;
@WebServlet(urlPatterns={"*.udo"},name="UserController")
public class UserController extends HttpServlet{
Students stu=new Students();
StudentsService sdo=new StudentsServiceImp();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest req, HttpServletResponse res){
if(mn.equals("query")){
try {
res.getWriter().print("xxxx");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}
}
jsp文件
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script src="js/jquery.js"></script>
<script>
function getCourse() {
alert("111");
$.ajax({
url : 'query.udo',
type: 'GET',
data: { //要传入ashx文件的数据
"id": 4
},
dataType : 'text',
async : true,
timeout : 50000,
success : function(data) {
document.getElementById('course').innerHTML = data;
},
error : function() {
var errorMsg = '无法获取11';
document.getElementById('course').innerHTML = errorMsg;
}
});
}
</script>
</head>
<body>
<input type="button" id="me" value="查看课程" οnclick="getCourse()"/>
<div id="course"></div>
</body>
</html>
特别注意,封装的ajax的dataType这里要是text,因为servlet中在浏览器的输出流(即res.getWrite().print())是字符串类型的,不能为json或者其他类型,另一篇用json类型的做比较。
而且,对于ajax中的data这个字段,传到servlet后,用servlet的service方法中的response对象的getParameter()方法来获得,对于本题,可以用res.getPatameter(‘id’)来获得参数的值