• JavaWeb-复习回顾(上)


    一、JavaEE和JavaWeb的区别

    什么是javaEE呢?
    javaEE包含两个部分:B/S(浏览器/服务器)架构以及C/S(客户端/服务器)架构 
    而JavaWeb属于B/S架构,是基于浏览器的,所以可以说javaEE包含了JavaWeb
    
    两者使用的服务器也不同:
    javaweb使用的服务器是Tomcat
    JavaEE使用的服务器是TomEE
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    二、项目创建的两种方式

    静态创建动态创建
    了解即可借助Idea软件,参考博客:javaweb项目创建

    三、三大组件

    ServletFilterLisenter
    接收、处理、响应用户请求过滤器,拦截请求监听器,监听某一行为

    四、请求和响应

    请求响应
    组成请求头、请求体(get没有,post有)响应头、响应体(又称响应正文)

    五、创建Servlet的三种方式

    创建方式实现Servlet接口继承GenericServlet抽象类继承HTTPServlet抽象类 (开发常用)
    所属包javax.servletjavax.servletjavax.servlet.http
    区别能够看到Servlet的生命周期,但是比较繁琐跟前一个相比,继承该类后只需要实现其中的service方法避免了重写多个方法,只需要重写doGET和doPOST来处理请求(后续不再需要手动创建Servlet类,可以使用快捷的方式)

    六、配置Servlet

    方式WEB-INF/web.xml在Servlet类上
    操作使用标签的方式完成Servlet的配置,但是过于繁琐通过在类上方添加注解的方式(后续使用较多)

    七、Servlet其他对象

    名称ServletConfigServletRequestServletResponse
    在init()函数中请求对象创建响应对象创建
    常见方法------getParameter(String name) 根据请求参数name拿到请求参数的值getWriter() 得到字符响应输出流,可以往页面写内容

    八、url-pattern

    /字符串/字符串/**.字符串/*
    精准匹配到字符串前缀匹配,只要前面是该字符串的都会匹配到后缀匹配,以该字符串结尾的都会匹配到匹配所有

    九、application域对象ServletContext

    \
    生命周期 =>跟随Tomcat,Tomcat启动时创建,关闭时销毁
    作用范围 =>由于是application域的对象,所以在整个项目中都有效
    存放内容=>存放的是 key=value 的键值对,key为String类型,value为Object类型
    创建方式=>通过ServletConfig的getServletContext()方法得到直接通过this.getServletContext()方法获得

    十、常见请求码

    200304404405400500
    成功转发资源不存在不支持请求方式失败请求服务器内部错误

    十一、转发和重定向

    名称转发重定向
    区别转发到一个页面后存在request域中的值还是能够访问到重定向到一个页面后存在request域中的内容将不能够被访问
    使用场景数据存活周期短,只在一次请求中有效除了前面的情况外,其他都用该方法
    共同点都可以进行页面的跳转

    十二、jsp

    1、jsp中java脚本的写法

    语法<% %><%= %><%! %>
    作用java能够写的代码这里都能写,也可以调用response,不能定义属性将表达式的结果在页面展示如a+1,不能写if语句定义属性,定义方法 如private int b=10

    2、jsp中三大指令

    pagetaglibinclude

    十三、session域对象HTTPSession

    获取方式保存和获取的方法删除的方法session存活时间
    request.getSession()setAttribute(),getAttribute()invalidate默认存活时间为30分钟

    javaweb常见面试题

    1、Servlet的生命周期

    1Servlet默认情况下是第一次请求发起时有Tomcat创建
    2、先调用init()函数,由Tomcat创建,只调用一次,又叫做生命周期函数
    3、用户每请求一次ServletTomcat都会调用一次service()函数
    4、在Tomcat关闭时销毁所有的对象,包括Servlet,而在Servlet销毁之前会调用destroy()函数,
       释放资源,只执行一次
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2、四大域对象

    <作用范围从大到小>

    名称applicationsession(常用)request(常用)page
    作用范围整个项目都有效在同一次会话中有效(从浏览器打开开始到关闭结束)在同一次请求中有效(只有请求了该页面才能够有效)在同一个页面有效

    3、jsp九大内置对象

    都可以直接使用,不需要创建

    四大域对象applicationsessionrequestpageContext
    响应对象response
    响应流对象out
    配置对象config
    表示thispage
    异常exception

    4、session工作原理

    服务器会为用户创建一个Session对象,
    并且把sessionId以cookie的方式保存在用户浏览器中,
    用户每次发送请求都会把cookie和JSESSIONID带回服务器
    
    服务器拿到cookie中的JSESSIONID后到session池中进行匹配
    得到对应的session对象,这样服务器就知道当前请求是哪个会话
    的
    
    如果客户端的cookie被删除了,那么请求不会带Jsessionid,那么服务器就无法匹配到session池中的对象,而30分钟后该session中的对象就会自动销毁
    
    如果服务器把session删除了,那么就算客户端有sessionid的cookie,也无法得到session池中对应的session对象,这时服务器会重新创建一个新的session并将新的sessionid以cookie的形式保存进客户端
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    IDEA回滚代码
    课时01 TOGAF9.2导入- 课前介绍-课程介绍
    【Linux】之Jumpserver堡垒机添加linux主机资产
    js中运算规则
    labview 混合信号图 多曲线分组
    知识点滴 - 什么是开放数据
    【WSN】无线传感器网络 X-Y 坐标到图形视图和位字符串前缀嵌入方法研究(Matlab代码实现)
    Perl时间处理函数用法介绍
    CTF—Php代码审计的ctf问题
    wsl中安装虚拟环境virtualenv,pycharm中配置wsl解释器
  • 原文地址:https://blog.csdn.net/qq_52998673/article/details/127720784