how2j.cn

示例 1 : 9种隐式对象,以及他们的用途   
示例 2 : 3种JSP的指令   
示例 3 : 2种JSP的动作   
示例 4 : doGet()和 doPost的区别,分别在什么情况下调用   
示例 5 : servlet的init方法和service方法的区别   
示例 6 : servlet的生命周期   
示例 7 : 页面间对象传递的方法   
示例 8 : Request常见方法   
示例 9 : J2EE是技术,还是平台,还是框架   
示例 10 : Servlet与JSP的关系   
示例 11 : 编写JavaBean的注意事项   
示例 12 : MVC的各个部分都有哪些技术来实现,分别如何实现   
示例 13 : JSP中两种include的区别   
示例 14 : JSP中两种跳转的方式是什么,区别是什么   
示例 15 : 如何实现在Servlet中用正则表达式对e-mail格式进行验证   
示例 16 : 如何处理中文问题   
示例 17 : 简述你对简单Servlet、过滤器、监听器的理解   

示例 1 :

9种隐式对象,以及他们的用途

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

pageContext, session,application
pageContext 代表当前页面作用域
session 代表当会话作用域
application 代表当全局作用域

config
config可以获取一些在web.xml中初始化的参数,详见config对象
page
表示当前对象,详见page对象
exception
表示异常对象,详见异常对象
<%@page
JSP的基本设置,比如编码方式,import其他类,是否开启EL表达式

<%@include
包含其他的文件

<%@taglib

使用标签库
<jsp:foward
服务端跳转

<jsp:include
包含其他文件
示例 4 :

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

edit
doGet和doPost都是在service()方法后调用的,分别来处理method="get"和method="post"的请求
示例 5 :

servlet的init方法和service方法的区别

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

接着再调用service,有多少次请求,就调用多少次service
示例 6 :

servlet的生命周期

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

页面间对象传递的方法

edit
假设是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常见方法

edit
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是技术,还是平台,还是框架

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

Servlet与JSP的关系

edit
Servlet与JSP的关系

JSP就是Servlet
示例 11 :

编写JavaBean的注意事项

edit
JavaBean就是实体类
无参构造方法
属性都用private修饰,并且都有public的getter和setter
示例 12 :

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

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

JSP中两种include的区别

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

详见:JSP中两种include的区别
示例 14 :

JSP中两种跳转的方式是什么,区别是什么

edit
分别是服务端跳转和客户端跳转

详见:JSP中两种跳转
示例 15 :

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

edit
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; }
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 :

如何处理中文问题

edit
中文问题分几个部分
1. 提交数据的时候使用UTF-8 编码
2. 接受数据的时候使用UTF-8 解码
3. 显示数据的时候使用UTF-8 编码

详细步骤参考 中文问题
示例 17 :

简述你对简单Servlet、过滤器、监听器的理解

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

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

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


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2020-04-12 jsp就是servlect
mmmmlll

解使就这么简单吗




1 个答案

杵臼
答案时间:2020-04-27
站长答案不是链接到了jsp的执行过程么.



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2018-12-20 如下:
YangChingyuk

希望多一些重要的,而且被问几率大的面试题,谢谢老大




1 个答案

尘风
答案时间:2019-01-08
jsp的话,隐式对象



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2017-12-22 doget和dopost的区别
2017-09-10 实现在Servlet中用正则表达式对e-mail格式进行验证




提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 面试题-J2EE-服务端 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图