标签:
1.GET请求:
组拼url的路径,把提交的数据拼装url的后面,提交给服务器。
缺点:(1)安全性 (2)长度有限不能超过4K(http协议限制),IE浏览器限制至1K
优点:代码方便编写
2.我们首先在电脑模拟下访问服务器的场景
(1)使用Eclipse 新建一个 " 动态web项目 ",如下:
(2)然后编写一个servlet程序(运行在服务端),命名为" LoginServlet ",如下:
代码内容如下:
1 package com.himi.web; 2 3 import java.io.IOException; 4 import javax.servlet.ServletException; 5 import javax.servlet.annotation.WebServlet; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 /** 11 * Servlet implementation class LoginServlet 12 */ 13 @WebServlet("/LoginServlet") 14 public class LoginServlet extends HttpServlet { 15 private static final long serialVersionUID = 1L; 16 17 /** 18 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 19 */ 20 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 21 String qq = request.getParameter("qq"); 22 String password = request.getParameter("password"); 23 System.out.println("qq:"+qq); 24 System.out.println("password:"+password); 25 26 //模拟服务器操作,查询数据库,看qq和密码是否正确. response.getOutputStream()获得一个输出流,向浏览器写入数据(提示数据) 27 if("10086".equals(qq) && "123456".equals(password)) { 28 response.getOutputStream().write("Login Success".getBytes()); 29 }else { 30 response.getOutputStream().write("Login Failed".getBytes()); 31 } 32 33 } 34 35 }
刚刚我们说过GET请求方法,把提交的数据组拼到url路径上提交到服务器上,所以这里request.getParameter();
(3)接下来编写一个jsp动态页面(区别于html静态页面),首先我们说一下jsp和html区别,如下:
jsp和html区别:
•HTML页面是静态页面,也就是事先由用户写好放在服务器上,由web服务器向客户端发送;JSP页面是动态页面,有JSP容器执行该页面的Java代码部分然后实时生成的页面.
•定义上HTML页面是静态页面可以直接运行,JSP页面是动态页它运行时需要转换成servlet。
•HTML能直接打开,jsp只能发布到Tomact等服务器上才能打开
•他们的表头不同,这个是JSP的头“ <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>”在表头中有编码格式和倒入包等。
•很好区分的在jsp中用<%%>就可以写Java代码了,而html没有<%%>。
编写一个login.jsp代码,在WebContent文件夹下:
login.jsp代码如下:
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 <html> 3 <head> 4 <%@ page language="java" contentType="text/html; charset=utf-8" 5 pageEncoding="utf-8"%> 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 7 <title>???????</title> 8 </head> 9 <body> 10 11 <form action="LoginServlet" method="get"> 12 请输入QQ账号: <input type="text" name="qq"> <br/> 13 请输入QQ密码: <input type="password" name="password"> <br/> 14 <input type="submit" value="登录"> 15 </form> 16 </body> 17 </html>
右击login.jsp文件," 运行方式 "--> " 在服务器上运行 ";运行的结果如下:
(4)打开360浏览器抓包分析http通信的详细过程:
• 打开360浏览器,地址栏输入:http://localhost:8080/web/login.jsp,结果如下:
•随便输入一个QQ账号和QQ密码,输入QQ账号:10000,输入QQ密码:123123,如下:
详细的抓取数据包如下:
上面提到的Response的数据长度是12(字符数),如下Response数据内容:
• 输入正确的QQ账号和QQ密码,如下:
同样抓取的数据包为:
上面提到的Response的数据长度是13(字符数),如下Response数据内容:
Android(java)学习笔记209:采用get请求提交数据到服务器
标签:
原文地址:http://www.cnblogs.com/hebao0514/p/4783000.html