jsp基础知识

目录

  • 1.JSP:动态网页
  • 2.cs和bs
  • 3.tomcat解压后目录
  • 4.常见状态码
  • 5.jsp执行流程
  • 6.get请求和post请求的区别
  • 7.请求转发和重定向的区别
  • 8.cookie和session的区别
  • 9.jsp九大内置对象
  • 10.四种范围对象作用域

1.JSP:动态网页

静态和动态的区别:
1.不用和是否有“动感”混为一谈
2.是否随着时间,地点,用户的操作改变而改变
动态网页需要使用到服务端脚本语言。(jsp)

2.cs和bs

cs架构
例如:app小程序(qq,微信等)
jsp基础知识_第1张图片

bs架构
基于网页版的开发,一般我们开发的是bs架构
jsp基础知识_第2张图片
cs:client server(客户端)
a. 如果软件升级,那么全部软件都需要升级
b.维护麻烦:需要维护每一台客户端软件
c.每一台客户端都需要安装客户端软件
bs:broswer server(服务端)
客户端可以通过浏览器直接访问服务端
注意:bs和cs各有优势

3.tomcat解压后目录

jsp基础知识_第3张图片

4.常见状态码

200:一切正常
300、301:页面重定向(跳转)
400:通常是服务端接收数据异常
404:资源不存在
403:权限不足
500:服务器内部错误(代码有误)
其他编码:积累

5.jsp执行流程

JSP:java server pages,java服务器页面。其是在传统的HTML页面中植入java代码,实现页面内容的动态展示。(HTML+java)
Jsp由web服务器进行翻译,编译并执行并最终返回客户端(浏览器)。
主要过程:jsp页面==>翻译成.java==>编译成.class==>执行==>返回
执行流程:
jsp基础知识_第4张图片
注:因为第一次请求服务端会有编译和翻译的过程,速度较慢;后续访问,可以直接访问class文件,因此速度较快。
但是如果服务端修改了代码,再次访问,会重新编译和翻译

6.get请求和post请求的区别

(1)使用场景不同:get用于获取服务器数据,post用于提交数据。
(2)数据传输方式不同:get请求数据会在地址栏显示,post请求则在请求体中不会在地址栏显示。因为get在地址栏显示,其传输的数据有限。而post传输的数据没有限制。
(3)如果是文件上传之类的必须用post.

7.请求转发和重定向的区别

请求转发:
request.getRequestDispatcher(URL地址).forward(request, response)
jsp基础知识_第5张图片

2)重定向:
response.sendRedirect(URL地址)
jsp基础知识_第6张图片
区别
(1)转发是在服务器内部做跳转,而重定向可以在内部也可以在服务器外部跳转。
(2)转发浏览器只发送一次请求,地址不变。而重定向浏览器会发起两次请求,地址栏改变。
(3)转发共享request和response对象。而重定向不共享。
(4)性能方面:转发会更好,因为只有一个请求。而重定向会发起两次请求。
jsp基础知识_第7张图片
使用场景:
1).当前后两个页面有数据传递时,例如查询了数据需要在页面显示时,用请求转发

2).当没有数据传递,例如做了更新操作跳转到其他页面,就用重定向。

8.cookie和session的区别

1、cookie数据存放在客户的浏览器上,session数据放在服务器上.
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。
3、设置cookie时间可以使cookie过期。但是使用session-destory(),我们将会销毁会话。
4、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookie。
5、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。(Session对象没有对存储的数据量的限制,其中可以保存更为复杂的数据类型)

两者最大的区别在于生存周期,一个是IE启动到IE关闭.(浏览器页面一关 ,session就消失了),一个是预先设置的生存周期,或永久的保存于本地的文件。(cookie)

Session信息是存放在server端,但session id是存放在client cookie的,当然php的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪

Cookie是完全保持在客户端的如:IE firefox 当客户端禁止cookie时将不能再使用

详细信息请参考:https://www.cnblogs.com/l199616j/p/11195667.html#_label1_0

9.jsp九大内置对象

JSP中有九大内置对象,不需要定义即可直接使用。
1)Request:httpServletRequest对象,用来封装一次请求数据的对象。其包含请求的所有信息。一次http请求一个request
2)Response:HttpServletResponse对象,用于封装响应信息。一次http请求一个response
3)Out:JspWriter类对象,用于向页面输出内容。
4)Session:HttpSession类的实例,用来表示当前会话。一个客户端一个session
5)Application:当前应用,一个项目一个application
6)Config:jsp页面的配置信息
7)pageContext:当前页面的上下文内容(页面上的所有对象)
8)Page:表示当前页面,类似于Java类中的this
9)Exception:jsp页面的异常对象。

10.四种范围对象作用域

page(pageContext):只在一个页面中保存属性。 跳转之后无效。
request:只在一次请求中有效,服务器跳转之后有效。 客户端跳无效
session:再一次会话中有效。服务器跳转、客户端跳转都有效。 网页关闭重新打开无效
application:在整个服务器上保存,所有用户都可使用。 重启服务器后无效
注意:如果设置过多的application属性范围会影响服务器性能。

你可能感兴趣的:(JAVAWEB基础知识,java,tomcat,微信)