有了它 面试官也问不了你 2022最新JavaWeb面试题

简介: 有了它 面试官也问不了你 2022最新JavaWeb面试题

说一说Servlet生命周期


servlet的生命周期是初始化(init)、服务(service)、销毁(destroy)


1.初始化(init):当第一次访问Servlet时调用init方法进行初始化,只初始化一次


2.服务(service):方法被调用时调用service方法进行服务,在项目启动期间可以进行多次服务


3.销毁(destory):当服务器关闭时调用destory方法进行销毁。只销毁一次


什么是jsp?jsp和Servlet有什么区别?


Servlet是服务器端的程序


JSP是服务器页面程序


JSP本质上就是一个Servlet,在访问jsp时,在服务器端会将jsp先转换成servlet,再将生产的servlet的结果响应给浏览器。


jsp相当于html页面中内嵌Java代码,侧重页面显示;Servlet是中书写Java代码,侧重逻辑控制;


Servlet接口中有哪些方法?


1.init(ServletConfig):初始化方法,第一次请求前执行,完成servlet初始化工作


2.service(ServletRequest,ServletResponse):执行方法,一次请求执行一次。


3.destroy():销毁方法,Servlet对象应该从服务中被移除的时候,容器会调用该方法进行销毁操作


4.getServletConfig():获得ServletConfig配置对象,包括初始化参数等。


5.getServletInfo():获得Servlet描述,一般没有用。


什么情况下调用doGet()和doPost()?


1、doGet():地址栏url方式访问、超链接访问、以及form表单中的method属性值为get方式访问,则调用doGet()方法


2、doPost():form表单中的method属性值为post方式访问,则调用doPost()方法


get请求和post请求有何区别


1. 表现形式:get在url中拼凑请求参数。Post请求参数在请求体中;


2. 安全性:get请求参数追加在路径上,可见不安全,post请求参数在请求体中,一般人不可见,较安全。


3. 数据大小:get提交数据有限,post无限。


forward和redirect的区别


1.地址栏是否改变:forward浏览器端网址不会发生变化,redirect浏览器端地址会变成;


2.是否可共享请求参数:forward是转发,属于同一个请求,request域中的数据可以传递;redirect是两次请求,request域中的数据不能传递;


3.是否可站外跳转:forward一般用于网站内部跳转,redirect可在站内跳转,也可跳转到其它网站。


JSP九大内置对象


request:请求对象


response:响应对象


session:回话对象


pageContext:页面上下文对象


application:类型是ServletContext,表示servlet上下文对象,可以在整个web项目中共享资源。


out  输出对象


page JSP网页本身


config Servlet的配置对象


exception 异常对象


讲解JSP中的四种作用域。


application:在当前web项目中有效


session:在当前会话中有效


request:在当前请求中有效


page:在当前页面有效


cookie是什么?session是什么?,以及它们之间的区别


cookie是浏览器技术,, 保存在浏览器 只有服务器发送过来的时候,浏览器才能有


session是服务器技术, 数据保持在服务器,通过cookie与浏览器建立联系, 保证用户在切换页面时保持会话


区别:


1, cookie只能存储英文字符串, session可以存储任意数据


2. cookie只能存储少量数,session可以存储大量数据


3, cookie默认生命周期是当前会话, 关闭浏览器自动销毁,如果设置了setMaxAge则到期就销毁, session默认生命周期是30分钟


Http常见状态码


1xx(请求进行中):用于表示临时响应并需要请求者执行操作才能继续的状态代码;


2xx(请求成功):用于表示服务器已成功处理了请求的状态代码;


3xx(请求被重定向):通常这些状态代码是用于重定向的;


4xx(客户端错误):用于指出客户端的错误;


5xx(服务器错误):这些状态代码表示,服务器在尝试处理请求时发生内部错误


常见状态码:


200,服务器已成功处理了请求。


302,请求重定,请求路径语法错误


404,请求资源不存在


405,请求方式不正确,如:一个资源只支持GET方法,但是客户端使用PUT方法访问。


500,服务器遇到错误,无法完成请求。


相关文章
|
1月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
307 37
|
1月前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
|
4月前
|
算法 Java 调度
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
66 0
|
4月前
|
SQL 存储 前端开发
程序技术好文:面试知识点六:JavaWeb
程序技术好文:面试知识点六:JavaWeb
44 1
|
4月前
|
存储 Java
java面试题大全带答案_面试题库_java面试宝典2018
java面试题大全带答案_面试题库_java面试宝典2018
|
4月前
|
SQL 前端开发 Java
2019史上最全java面试题题库大全800题含答案(面试宝典)(4)
2019史上最全java面试题题库大全800题含答案(面试宝典)
|
4月前
|
SQL Java 数据库连接
2019史上最全java面试题题库大全800题含答案(面试宝典)(2)
2019史上最全java面试题题库大全800题含答案(面试宝典)
|
4月前
|
存储 设计模式 Java
java实习生面试题_java基础面试_java面试题2018及答案_java面试题库
java实习生面试题_java基础面试_java面试题2018及答案_java面试题库
|
4月前
|
SQL 算法 安全
java面试宝典_java基础面试_2018java面试题_2019java最新面试题
java面试宝典_java基础面试_2018java面试题_2019java最新面试题
|
4月前
|
算法 安全 网络协议
java高级面试题_java面试题大全带答案_线程面试题_java面试宝典2019
java高级面试题_java面试题大全带答案_线程面试题_java面试宝典2019