前端 服务端面试题
1.9种隐式对象,以及他们的用途
request,response,out 分别代表请求,相应和输出
pageContext,session,application
pageContext 代表当前页面作用域
session 代表当前会话作用域
application 代表当前全局作用域
config:config可以获取一些在web.xml中初始化的参数
page:表示当前对象
exception:表示异常对象
2.3种JSP的指令
<%@page JSP的基本设置,比如编码方式,import包
<%@include 包含其他的文件
<%@taglib 在JSP页面中导入JSTL标签库。
3.2种JSP的动作
<jsp:forward 跳转页面
<jsp:include 包含其他文件
4.doGet()和 doPost的区别,分别在什么情况下调用
(1)POST比GET安全,例如用户登录时,如果用GET调用会把用户账户密码都显示在URL中,用POST调用不会显示
(2)服务器接收方式
服务器随机接受GET方法的数据,一旦断电等原因,服务器也不知道信息是否发送完毕
POST方法,服务器先接收数据信息的长度,然后在接收数据
doGet()和doPost()分别对应http协议中的GET和POST方法,请求是GET方法就调用doget(),请求是POST方法就调用dopost()方法。都是在service()方法后调用的。
5.servlet的init方法和service方法的区别
在servlet的生命周期中。先用init进行初始化,只调用一次,接着在调用service,有多少次请求,就调用多少次service
6.servlet的生命周期
①被创建:执行init方法,只执行一次
②提供服务:执行service方法,执行多次
③被销毁:执行destroy方法,只执行一次
Servlet的执行原理
①当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的servlet的资源路径
②查找web.xml文件,是否有对应的<url-pattern>标签体内容
③如果有,则在找到对应的<servlet-class>全类名
④tomcat会将字节码文件加载进内存,并且创建其对象调用其方法
⑤调用其方法
7.页面间对象传递的方法
a.jsp传递数据到b.jsp。在a.jsp中request.setAttribute,然后服务端跳转到b.jsp
在a.jsp中session.setAttribute,
在a.jsp中application.setAttribute
8.Request常见方法
request.getRequestURL(): 浏览器发出请求时的完整URL,包括协议 主机名 端口(如果有)" +
request.getRequestURI(): 浏览器发出请求的资源名部分,去掉了协议和主机名" +
request.getQueryString(): 请求行中的参数部分,只能显示以get方式发出的参数,post方式的看不到
request.getRemoteAddr(): 浏览器所处于的客户机的IP地址
request.getRemoteHost(): 浏览器所处于的客户机的主机名
request.getRemotePort(): 浏览器所处于的客户机使用的网络端口
request.getLocalAddr(): 服务器的IP地址
request.getLocalName(): 服务器的主机名
request.getMethod(): 得到客户机请求方式一般是GET或者POST
9.J2EE是技术,还是平台,还是框架
是平台
10.Servlet与JSP的关系
JSP就是Servlet HttpJspBase继承了HttpServlet,HttpServlet继承了Servlet。
11.编写JavaBean的注意事项
JavaBean就是实体类,无参构造方法,属性都用private修饰,并且都有public的getter和setter
12.MVC的各个部分都有哪些技术来实现,分别如何实现
Model:业务处理(Service)
数据库持久层:CRUD(Dao-数据持久化对象)
View:展示数据
提供链接发起Servlet请求
Controller(servlet)
接收用户的请求
交给业务层去做(返回数据)
控制试图的跳转
登录-->接收用户的请求--->处理用户的请求(获取用户登陆的参数,username,password)-->交给业务层处理登陆业务(判断用户名密码是否正确:事务)--->Dao层查询-->数据库
13.JSP中两种include的区别
静态包含:将指定的JSP页面或HTML页面包含进来,整个页面一起编译
静态包含:这是一种Action指令,用于动态包含JSP程序或HTML页面
14.JSP中两种跳转的方式是什么,区别是什么
forward跳转:服务器端跳转,地址栏不会变化
response跳转:客户端跳转,地址栏会发生变化
16.如何处理中文问题
提交,接收,显示数据的时候使用UTF-8B编码
17.简述你对简单Servlet、过滤器、监听器的理解
Servlet作用是处理获取参数,处理业务,页面跳转
过滤器:处理中文乱码,登陆验证
监听器:监听Request,Session,Context等等的生命周期,以及其中数据的变化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通