首先jquery的ajax与js的ajax本质是没有区别的,只是jquery的ajax看着更舒服,所以无论是cs还是servelat后台接收文件是不变的
先说下两种jquery的写法
jsp:
$.ajax({
type:"post",
url:"UsersTable.do",//这个是web.xml里声明java类的路径
data:{
key1:"value1",//key-value形式传值,这里写几对就传几对值
key2:"value2"
},
success:function(data,textStatus){
alert(data);//java类文件里out.print输出的内容
alert(data);
},
error:function(){
alert("ajax数据传输出错");
}
});
java类路径注册:
<servlet> //java类的注册,在WEB-INF文件夹下 这里的className就是你建的java类名
<servlet-name>classNmae</servlet-name>
<servlet-class>com.apache.Table.className</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>className</servlet-name>
<url-pattern>/className.do</url-pattern>
</servlet-mapping>
java类:
public class className extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//以下是对传输的一些设置
response.setContentType("text/html;charset=UTF-8");
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
//以上是对传输的一些设置
PrintWriter out = response.getWriter();//写了这句话就可以对jsp输出了,方式是out.print("");
//获取传过来的值
String value1 = request.getParameter("key1");
String value2 = request.getParameter("key2");
out.print(key1+"_sucess");
out.print(key2+"_sucess");
}
//无论是get方式还是post都通过<span style="font-family: Arial, Helvetica, sans-serif;">processRequest方法传输
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}