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

相关内容

热门资讯

竞业达董事长被留置,2.6万股... 7月9日,竞业达开盘一字跌停,截至发稿报12.11元/股,最新市值28亿元。消息面上,7月8日,竞业...
外媒称中国空军已成为仅次于美国... 7月9日下午,国防部新闻发言人陈曦大校就近期涉军问题发布消息。 记者:近期,运-20飞机最新宣传片引...
普源精电实现“A+H”两地上市... 财通社——7月9日上午,电子测量仪器龙头普源精电(00537.HK,688337.HK)正式登陆港股...
“全系列智能机器人第一股”, ... 港交所机器人板块又迎来一位新成员。上市首日,珞石机器人(3752.HK)开盘价报38.02港元/股,...
智谱、MiniMax解禁,投资... 大家好,今天是【Frontline】第11期,聊一聊投资人关注的解禁话题。7月8日、9日,港股AI双...
中方试射,澳媒为印度加戏:你有... 【文/观察者网 冯雪】 中国海军在太平洋成功试射潜射战略导弹,引得一众国家和媒体妄图给自己加戏。 据...
AI造假泛滥!假冒券商荐股骗局... 梳理近年来曝光的案例,假冒证券从业人员骗局呈现明显上升趋势。深圳证券业协会今年6月披露,2025年下...
平安MVP许秀丽:84钻遇瓶颈... 站在2026年,平安人寿厦门分公司梦想网点保险代理人许秀丽轻舒一口气,回望2025年,她在坚守长期主...
原创 波... 7月6日凌晨,俄罗斯对乌克兰展开了自7月初以来最大规模的空袭,351架无人机和68枚导弹向基辅猛扑而...
电动重卡半年销量暴增85%,谁... 2026年上半年,国内新能源重卡累计销量约 12.62 万辆、同比增长约 85%,5 月单月渗透率一...