课程回顾:
线程
网络编程
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