J2EE常见面试题

前端

示例 1 : 常见的选择器

元素选择器
id选择器 对应#符号
class选择器 对应.符号

详见CSS选择器

示例 2 : 行内元素有哪些?块级元素有哪些?

块级元素:div p h1 h2 h3 h4 form ul
行内元素: a b i span input select

示例 3 : 前端页面有哪三层构成,分别是什么?作用是什么?

结构(内容)层 Html
表示层 CSS
行为层 js

示例 4 : 标签上title与alt属性的区别是什么?

Alt 当图片不显示是 用文字代表。
Title 为该属性提供信息

示例 5 : javascript的typeof返回哪些数据类型

Object number function boolean undefined

参考 使用typeof进行类型判断

示例 6 : javascript中如何进行 数字和字符串转换

数字转换为字符串:
toString()

字符串转换为数字:
new Number()

更多类型转换,请参考 javascript 类型转换

示例 7 : 如何隐藏一个元素

CSS隐藏元素有两种方式
display:none; (不占位置)
visibility:hidden; (要占位置)

JQuery方式隐藏元素方式
$(selector).hide()

服务端

示例 1 : 9种隐式对象,以及他们的用途

JSP一共有9个隐式对象,分别是
request,response,out
分别代表请求,响应和输出

pageContext, session,application

​ pageContext 代表页面作用域

​ session 代表当前会话作用域

​ application 代表当前全局作用域

config
​ config可以获取一些在web.xml中初始化的参数,详见config对象

page
​ 表示当前对象,详见page对象

exception
​ 表示异常对象,详见异常对象

示例 2 : 3种JSP的指令

<%@page
​ JSP的基本设置,比如编码方式,import其他类,是否开启EL表达式

<%@include
​ 包含其他的文件
<%@taglib
​ 使用标签库

示例 3 : 2种JSP的动作

<jsp:foward
服务端跳转

<jsp:include
包含其他文件

示例 4 : doGet()和 doPost的区别,分别在什么情况下调用

doGet和doPost都是在service()方法后调用的,分别来处理method=”get”和method=”post”的请求

示例 5 : servlet的init方法和service方法的区别

在Servlet的生命周期中,先调用init进行初始化,而且只调用一次。

接着再调用service,有多少次请求,就调用多少次service

示例 6 : servlet的生命周期

一个Servlet的生命周期由 实例化初始化提供服务销毁被回收 几个步骤组成

实例化 -》初始化 -》提供服务 -》 销毁 -》被回收

示例 7 : 页面间对象传递的方法

假设是a.jsp传递数据到b.jsp,那么页面间对象传递的方式有如下几种

假设是a.jsp传递数据到b.jsp,那么页面间对象传递的方式有如下几种

  1. 在a.jsp中request.setAttribute,然后服务端跳转到b.jsp
  2. 在a.jsp中session.setAttribute,然后跳转到b.jsp, 无所谓客户端还是服务端跳转
  3. 在a.jsp中application.setAttribute, 然后跳转到b.jsp,无所谓客户端还是服务端跳转

示例 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

更多的请查看 request常见方法

示例 9 : J2EE是技术,还是平台,还是框架

是平台,上面运行各种各样的技术(servlet,jsp,filter,listner)和框架(struts,hibernate,spring)

示例 10 : Servlet与JSP的关系

Servlet与JSP的关系

JSP就是Servlet

示例 11 : 编写JavaBean的注意事项

JavaBean就是实体类
​ 无参构造方法
​ 属性都有public的getter和setter

示例 12 : MVC的各个部分都有哪些技术来实现,分别如何实现

M 模型层代表数据,使用bean,dao等等
V 视图层代表展现,使用html,jsp,css
C 控制层代表控制,使用servlet

示例 13 : JSP中两种include的区别

一种是静态包含,一种是动态包含

详见:JSP中两种include的区别

通过之前的学习知道,JSP最后会被转译成Servlet

如果是指令include

1
<%@include file="footer.jsp" %>

footer.jsp的内容会被插入到 hello.jsp 转译 成的hello_jsp.java中,最后只会生成一个hello_jsp.java文件

如果是动作include

1
<jsp:include page="footer.jsp" />

footer.jsp的内容不会被插入到 hello.jsp 转译 成的hello_jsp.java中,还会有一个footer_jsp.java独立存在。 hello_jsp.java 会在服务端访问footer_.jsp.java,然后把返回的结果,嵌入到响应中。

示例 14 : JSP中两种跳转的方式是什么,区别是什么

客户端跳转

和Servlet的跳转一样,JSP的跳转也分服务端跳转和客户端跳转。

1
response.sendRedirect("hello.jsp");
1
2
3
<%
response.sendRedirect("hello.jsp");
%>

服务端跳转

与Servlet的服务端跳转一样,也可以使用

1
request.getRequestDispatcher("hello.jsp").forward(request, response);

或者使用动作,简化代码

1
<jsp:forward page="hello.jsp"/>

示例 15 : 如何实现在Servlet中用正则表达式对e-mail格式进行验证

1
2
3
4
5
6
7
8
9
10
11
public static boolean emailFormat(String email)
{
boolean tag = true;
final String pattern1 = "^([a-z0-9A-Z]+[-|//.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?//.)+[a-zA-Z]{2,}$";
final Pattern pattern = Pattern.compile(pattern1);
final Matcher mat = pattern.matcher(email);
if (!mat.find()) {
tag = false;
}
return tag;
}

示例 16 : 如何处理中文问题

中文问题分几个部分

  1. 提交数据的时候使用UTF-8 编码
  2. 接受数据的时候使用UTF-8 解码
  3. 显示数据的时候使用UTF-8 编码

详细步骤参考 中文问题

示例 17 : 简述你对简单Servlet、过滤器、监听器的理解

Servlet 作用是处理获取参数,处理业务,页面跳转

过滤器的作用是拦截请求,一般会用做编码处理,登陆权限验证

监听器的作用是监听Request,Session,Context 等等的生命周期,以及其中数据的变化

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2023 高行行
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信