SERVLET JSP篇-02 HTTP协议、Servlet原理
发布日期:2021-06-29 15:41:49 浏览次数:2 分类:技术文章

本文共 2740 字,大约阅读时间需要 9 分钟。

.Http协议、HTTPS协议

1.什么是HTTPS

HTTPS基于安全套接字层的超文本传输协议,是一个Netscape开发的web协议。即HTTPS=HTTP+SSL,HTTPS在HTTP在HTTP应用层的基础上使用安全套接字层作为子层。

2.为什么需要HTTPS

超文本传输协议(HTTP)是一个用来通过互联网传输的和接受信息的协议,HTTP使用请求/相应的过程,因此信息可在服务器间快速、轻松而且精确的进行传输。当你访问Web页面的时候你就是在使用HTTP协议,但HTTP是不安全的,可以轻松对窃听你跟web服务器之间的数据传输,为了防止未经授权的访问,网景公司推出了HTTPS,也就是基于安全套接字层的HTTP协议。

3.HTTP和HTTPS的相同点

大多数情况下,HTTP和HTTPS是相同的,因为都是采用同一个基础的协议,作为HTTP或HTTPS客户端--游览器,设立一个连接到Web服务器指定的端口。当服务器接受到请求,它会返回一个状态码以及消息,这个回应可能是请求信息、或者指示某个错误发送的错误信息。系统使用同一资源定位器URI模式,因此资源可以被唯一指定。而HTTPS和HTTP唯一不同的只是一个协议头(https)的说明,其他都是一样的。

4.HTTP和HTTPS的不同之处

HTTP的URL以http://开头,而HTTPS的URL以https://开头

HTTP是不安全的,而HTTPS是安全的

HTTP标准端口是80,而HTTPS的标准端口是443

OSI网络模型中,HTTP工作于应用层,而HTTPS工作的传输层

HTTP无需加密,而HTTPS对传输的数据进行加密

HTTP无需证书,而HTTPS需要证书

5.如何通信

建立连接、发起请求、接受响应、断开连接;

一次请求一次连接,降低服务器的压力

6.数据格式

---请求数据

请求行:请求的基本信息

消息头:请求数据的描述

实体内容:具体的业务数据

---相应数据

状态行:相应的基本信息

消息头:相应数据的描述

实体内容:具体的返回数据

7.对开发者的要求

---不同开发者处理的地方

游览器自动打包请求数据

游览器自动发送请求数据

服务器自动打包响应数据

服务器自动发送响应数据

---需要开发者处理的地方

提供具体的请求中的业务数据

提供具体的响应中的返回数据

通过request处理请求数据,通过response处理响应

 

二、Servlet例子

在webapp下新建一个register.xml文件

Insert title here

账号:

密码:

运动 音乐 电影

RegServlet.java

package web;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class RegServlet extends HttpServlet {	/**	 * 	 */	private static final long serialVersionUID = 1L;	@Override	protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {		// TODO Auto-generated method stub		req.setCharacterEncoding("utf-8");//只对post有效		//处理请求的一般步骤		//1.接受参数		String user=req.getParameter("userName");		String pwd=req.getParameter("pwd");		String sex=req.getParameter("sex");		String[] interests = req.getParameterValues("interest");				//2.处理业务		System.out.println(user);		System.out.println(pwd);		System.out.println(sex);		if(interests!=null) {			for(String i:interests) {				System.out.println(i);			}		}		//3.发送相应		res.setContentType("text/html;charset=utf-8");//注意这里		PrintWriter out = res.getWriter();		out.println("

注册成功

"); out.close(); } }

三、Servlet原理

 

三、请求方式

1.什么是请求方式?

就是游览器向服务器发送数据的方式:需要掌握众多方式中的两种:GET和POST.

2.GET

采用请求路径传参;参数在传递过程中可见,导致隐私性差

路径可以容纳的数据有限,只能传少量数据

所有的请求默认都是GET请求

3.POST

采用实体内容传参,参数在传递过程中不可见,隐私性好。

实体内容专门用来传数据,大小没有限制

form上加method=”post”

4.观察GET和POST请求

在游览器上按快捷键F12,看NetWork选项

四、乱码处理

1.get/post

将乱码后的字符串按照ISO还原成byte,再将byte按照UTF-8编码成字符串

byte[] bs = user.getBytes("ISO8859-1");

user = new String(bs,"utf-8");

2.get(只对)

修改tomcat配置文件,在server.xml第65行,加URIEncoding=“utf-8”

3.post(只对)

在接受参数前,加req.setCharacterEncoding(“utf-8”)

 

转载地址:https://codingchaozhang.blog.csdn.net/article/details/79828720 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:SERVLET JSP篇-03 Servlet特性
下一篇:SERVLET JSP篇-01 Servlet基础、HTTP协议(建立第一个servlet项目)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月30日 05时19分44秒