JavaWeb-复习回顾(上)
admin
2024-03-05 11:47:31
0

文章目录

  • 一、JavaEE和JavaWeb的区别
  • 二、项目创建的两种方式
  • 三、三大组件
  • 四、请求和响应
  • 五、创建Servlet的三种方式
  • 六、配置Servlet
  • 七、Servlet其他对象
  • 八、url-pattern
  • 九、application域对象ServletContext
  • 十、常见请求码
  • 十一、转发和重定向
  • 十二、jsp
    • 1、jsp中java脚本的写法
    • 2、jsp中三大指令
  • 十三、session域对象HTTPSession
  • javaweb常见面试题
    • 1、Servlet的生命周期
    • 2、四大域对象
    • 3、jsp九大内置对象
    • 4、session工作原理

一、JavaEE和JavaWeb的区别

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

二、项目创建的两种方式

静态创建动态创建
了解即可借助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的生命周期

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

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的形式保存进客户端

相关内容

热门资讯

存储三巨头同步扩产,是股民撤退... 三巨头争相扩产近期,三星电子、SK海力士、美光科技集中公布大规模扩产计划,投资重点集中在HBM、服务...
多益网络又出事!徐波初中学历,... 文丨詹詹编辑丨杜海来源丨新商悟(本文约为1700字)8月25日,多益网络官方微博账号被平台封禁,页面...
蓝思科技Q2净利超7亿,TGV... 8月22日,蓝思科技股份有限公司(以下简称“蓝思科技”)披露2026年半年度报告。面对消费电子行业周...
石头科技:全球化发展的分层解法... 全球智能清洁市场正呈现显著的区域分化。IDC数据显示,2026年一季度欧洲家用扫地机器人出货量同比大...
追觅发布公告:聚焦四大主业,从... 8月25日,针对外界市场的关注,追觅科技发布声明称,基于公司整体战略规划及不同业务的发展阶段,公司近...
九江银行36亿定增未落先防,核... 出品|达摩财经距离披露中期业绩报告不到一周,九江银行提出了一项不太寻常的议案。8月23日,九江银行发...
空缺5个月迎来新掌门,东北证券... 8月24日,东方基金管理股份有限公司(下称“东方基金”)发布高级管理人员变更公告,经公司董事会审议通...
美股芯片股冲高回落,疫苗巨头深... 北京时间8月25日,美股三大指数震荡整理,截至23:00,道指涨0.05%,纳指涨0.39%,标普5...
中国电动三轮车正掀起出海热潮 8月25日,中国电动三轮车正掀起出海热潮,成为许多外国人的“梦中情车”。据海关数据显示,2026年1...