Loading

前端 服务端面试题

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等等的生命周期,以及其中数据的变化

 

posted @ 2022-03-25 17:28  远乡人  阅读(90)  评论(0编辑  收藏  举报