【幻化万千戏红尘】qianfengDay26-Servlet、http协议、URL基础学习:

课程回顾:

线程
网络编程
SQLite
HTML5


今日内容:
Servlet
HTTP协议
XML解析
JSON解析
正则+注解

网络程序的分类:
1、B/S
2、C/S

表单的提交方式:
1、get:参数信息跟在URL后面传输
特点:
1、不安全,信息比较敏感
2、大小有限制
3、中文乱码,URL采用编码格式为:ISO8859-1
4、效率高
2、post:参数信息通过流的形式进行传输
特点:
1、安全
2、大小无限制
3、效率低

Servlet:java语言编写的运行在服务器端的程序
服务器执行

使用Servlet的步骤:
1、创建Servlet类
2、重写doGet或doPost方法
3、运行在服务器

doGet(HttpServletRequest request, HttpServletResponse response):接收get请求
doPost(HttpServletRequest request, HttpServletResponse response):接收post请求
request:请求对象,包含请求的信息,比如请求方的ip,请求方传递的数据等等
常用方法:
getRemoteAddr:获取远程IP信息
setCharacterEncoding:设置请求内容的编码格式(主要应用在Post中)
getParameter:获取请求的参数的内容

response:响应对象,包含响应信息,比如消息的返回等
常用方法:
setCharacterEncoding:设置响应内容的编码格式
getWriter:获取打印字符流对象,用于响应信息
setStatus:设置状态响应码

Servlet的生命周期:
初始化-----服务-----死亡
服务器控制Servlet的生命周期的交互


Servlet页面的跳转:
1、客户端跳转
response.sendRedirect("待跳转的页面");
特点:
1、地址栏改变
2、不能传递数据


2、服务端跳转
request.getRequestDispatcher("待跳转的页面").forward(request, response);
特点:
1、地址栏不改变
2、可以传递数据

练习:请写登陆界面,使用form表单

练习:请创建Html页面,可以输入学生的个人信息,提交到对应的后台
请在后台中打印学生信息
并返回鼓励的话

练习:请创建接口,要求只支持Get请求,要求参数:
count:数量,start:起始序号
数据格式:
1 第1名
2 第2名
……
……

要求根据传递的参数值,返回数据
要求数据使用Html进行描述

练习:
创建类Student,属性:学号、姓名、年龄、性别
要求属性封装

设计Servlet
参数:pageIndex:当前页数,count:每页显示的数量
根据请求的信息,进行学生信息的返回

目的:设计出分页数据请求学生信息
返回的数据格式:
学号 姓名 年龄 性别
1  张三 12  男
……

不用使用HTML

URL:统一资源定位符,就是指的网址

Http的请求方式:
1、GET:从服务器获取数据
特点:
 1、不安全,参数信息以键值对形式跟在URL传输
 2、大小有限制,URL地址大小有限制
 3、编码格式,URL的编码格式为ISO8859-1
 4、效率相对较高

2、POST:向服务器传递数据
特点:
 1、相对安全,参数信息以流的形式传输
 2、大小无限制
 3、效率相对较低

HTML:HyPerText MarkUp Language超文本标记语言
超文本:
包含图片,音频,视频,文本等


HTTP协议:HyPerText Transfer Protocol:超文本传输协议
是目前互联网中使用范围最广泛的网络协议

请求头:请求属性
Accept:设置请求的数据的类型,MIME类型 例如:大类型/小类型 text/css
Accept-Charset:指定浏览器的编码格式
Accept-Encoding:编码类型
Accept-Language:语言
Content-Length:内容长度 ,POST传递的内容的字节个数
Range:设置请求的起始字节和终止字节


请求参数:
参数信息

URL:统一资源定位符
格式:协议名称://IP:端口号/路径/资源

http://10.16.153.63:8080/Day26/LoginServlet
常用方法:
getProtocol:获取协议名称
getHost:获取服务器主机
getPath:获取资源路径
getFile:获取资源
openStream:打开连接并获取指定的资源


HTTP协议的实现方式:
1、HttpURLConnection
2、okHttp

原文地址:https://www.cnblogs.com/weigongcheng/p/5773991.html