前端和后台Servlet交互信息获取和url问题

GET请求

<a href="url"> </a> 对于这个匹配<url-pattern>/url</url-pattern>的Servlet调用doGet方法

GET提交的数据是在url里面,比如 localhost:8080/servlet/MyServlet1           #servlet/MyServlet1就是url


又比如

search?keyword=ajax             

# 这种一般是搜索框输入框的,使用的一般是ajax异步传递给servlet的,还是doGet方法

ajax客户端的xmlhttp.open("GET", url, true)

url配成 url = "search?keyword" + escape("搜索框内容");

servlet类web.xml <servlet-mapping>配子标签为<url-pattern>/search</url-pattern>

就可以通过 request.getParameter("keyword"); 获取 搜索框内容   

返回数据也就是 response.getWriter.writer("返回数据") ; 即可,客户端通过ajax的回调函数 var 返回数据 = xmlhttp.responseText;

注意:这个例子的客户端url和服务端servlet的url只是前面部分一样,因为多了获取数据部分


POST请求

而POST提交是在提交的内容里面,格式完全相同,不在浏览器的url中。。所以post请求的url很容易处理,前后端都一样。

就是在发送的http请求中,在请求头中

..... // 这里是header

id=1&name=2&age=3


客户端<form action="/servlet/MyServlet1“ method="post" >     服务servlet配置的<url-pattern>一样是/servlet/MyServlet1

如果表单有要获取的数据 <input type="text" name="introduction" id="intro" placeholder="请输入自我介绍” />

后台 servlet需要获取的话,可以 request.getParameter("introduction");    # 是通过name属性,而不是id属性来获取的 

跳转可以 resp.sendRedirect("/pages/jump.html")  # pages前的 ‘/' 必须有



待续。。。。

猜你喜欢

转载自blog.csdn.net/chenbetter1996/article/details/80529081