Servlet_And_JSP学习(一)

本章主要记录了学习Servlet和JSP内容时候的初步搭载和HTTP的一些内容,了解了传输内容时候需要的协议以及简要内容。练习和尝试了Tomcat搭载环境下的后端学习简要知识。

JSP:动态网页

所谓动态静态不能简单的认为时“动静”的概念,而是指示网页内容是否会根据时间地点以及用户操作的不同而改变。例如你再北京打开网页查询天气和在上海查询天气,由于地理位置的不同,数据自然的更改。

动态网页的实现,就需要用到服务器脚本语言JSP(Java Server Pages)

框架介绍:

CS:Client Server

不足:
    1.当服务器的软件进行升级时候,所有的客户端软件同样需要升级。
    2.鉴于第一点,每一个客户端软件都需要维护,因此维护显得特别麻烦。
    3.每一台客户端需要时候的时候都需要安装客户端软件。

鉴于以实的不足,出现了BS:Broswer Server

客户端可以通过任意浏览器直接访问服务器。
但是,由于操作显得简单,需要比CS更多的时间消耗。

HTTP

我们在操作网页数据的时候,就需要用到HTTP(HyperText Transfer Protocol,超文本传输协议)

HTTP请求由状态行、请求头、请求正文三部分组成:

状态行:包括请求方式Method、资源路径URL、协议版本Version;
请求头:包括一些访问的域名、用户代理、Cookie等信息;
请求正文:就是HTTP请求的数据。

请求的方式一般为:GET,POST,PUT,DELETE。

其中:GET,POST为HTTP 1.0版本。其余两个为1.1新增。而且现在大多数协议版本为HTTP 1.1.

HTTP不是保存状态的协议,即无状态协议。协议对于发送的请求或者响应不做持久化处理。协议本身不保留之前一切请求和响应的信息。

但是为了实现期望的保持状态功能,在HTTP 1.1中引入了Cookie技术,可以管理状态。就好比说以前为发短信聊天,现在时打电话或者视频通话聊天,可以保证一段时间的状态连续。持久化连接的好处在于减少了TCP连接的重复建立和断开的额外开销,减轻了服务器的负载。

状态码的介绍:

状态码表示当前客户端向服务器发送请求时候,描述返回状态的结果。我们常见的网页出现404就是其中一种,表示Not Find,其他常见的还有:

200:一切正常
300/301: 页面重定向 (跳转)
404:资源不存在 
403:权限不足 (如果访问a目录,但是a目录设置 不可见)
500:服务器内部错误(代码有误)
其余的就是见到学习即可。

其他相关代理,网关,缓存器以及安全性能之类的会专门讲解,这里不深入探究。

JSP执行流程

jsp- java(Servlet文件) -class

D:\study\apache-tomcat-8.5.30\work\Catalina\localhost\JspProject\org\apache\jsp

Jsp 和Servlet 可以相互转换

因为第一请求服务端 会有翻译 和编译的过程,因此比较慢; 后续访问 可以直接访问class,因此速度较快。但是,如果,服务端修改了代码,则再次访问时 就会重新的翻译、编译。

ecplise配置Tomcat

1.使用Eclipse开发Web项目(JSP项目)  tomcat
2. 在Eclipse中创建的Web项目:
浏览器可以直接访问 WebContent中的文件,
例如http://localhost:8080/MyJspProject/index.jsp
其中的index.jsp就在WebContent目录中,且(8080为默认端口号)
但是WEB-INF中的文件  无法通过客户端(浏览器)直接访问,只能通过请求转发来访问
注意:并不是任何的内部跳转都能访问WEB-INF;原因是跳转有2种方式:请求转发 、重定向
3.配置tomcat运行时环境
    jsp<->Servlet 可以互转
a.将tomcat/lib中的servlet-api.jar加入项目的构建路径
b.右键项目->Build Path -> Add library ->Server Runtime
4.部署tomcat
在servers面板 新建一个 tomcat实例 ,再在该实例中部署项目(右键-add)之后运行
注意:一般建议将eclipse中的tomcat与本地tomcat的配置信息保持一致:将eclipse中的tomcat设置为托管模式:【第一次】创建tomcat实例之后,双击选择Server Location的第二项
5.统一字符集编码
a.编码选择:我们选择国际统一字符集UTF-8
设置jsp文件的编码(jsp文件中的pageEncoding属性):  jsp -> java        
设置浏览器读取jsp文件的编码(jsp文件中content属性)
一般将上述设置成 一致的编码,推荐使用UTF-8
文本编码:
    i.将整个eclipse中的文件 统一设置 (推荐)
    ii.设置 某一个项目
    iii.设置单独文件
感谢您的鼓励.如果喜欢可以送我一包辣条。