在前台的请求后面加上method参数,可以是一个servlet处理多个不同的请求。
String method = request.getParameter("method");
在后台因为开始就用request.getParameter();获取请求参数,所以在当前servlet中不能再使用别的读取方法,例如request.getReader();如果使用多种读取放方法会因为流冲突可能会读不到参数。
在前端发送的数据大概有以下几种形式:
1.发送单个参数
$.ajax({ //给后台处理删除一条借阅信息操作
url : "../Showborrow?method=deloneborrow",
type : 'post',
// url:"../data/menu.json",
data : {
useguid : useguid
} , //发送数据
success : function(result) { //成功操作
grid.load();
},
error : function() {
console.log("发送数据失败");
}
})
2.发送一个数据实体对象:根据发送的参数名获取该对象
//数据通过验证,提交数据
var data = form.getData();
var site = new mini.get("site");
data.bookname = site.text + '-' + data.bookname;
$.ajax({
url : "../bookServlet?method=addbook",
type : "post",
// url:'../data/mark.json',//像后台请求添加一条学生
data : {data:mini.encode(data)},
success : function(result) { //成功操作
// console.log(mini.encode(data))
form.reset();
window.CloseOwnerWindow(); //关闭有父窗口的子窗口
},
error : function() {
console.log("发送数据失败");
}
})
发送实体对象比较方便,可以直接使用json函数转成对象:
String data = request.getParameter("data");
BookInfo bookInfo = JSON.parseObject(data, BookInfo.class);
练习代码会在下一篇上贴出来,项目也会上传资源,有兴趣的可以下载,miniui+servlet前后端分离。