getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径
getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性
9. JSP 的常用指令
isErrorPage(是否能使用 Exception 对象),isELIgnored(是否忽略表达式)
10. request.getAttribute()和 request.getParameter()有何区别?
getParameter 得到的都是 String 类型的。或者是 http://a.jsp?id=123 中的 123,或者是某个表单提交过去的数据。 getAttribute 则可以是对象。
11. jsp 有哪些内置对象?作用分别是什么?分别有什么方法?
JSP 共有以下9个内置的对象:
Page: JSP 网页本身,表示从该页面产生的一个 servlet 实例
Exception: 针对错误网页,未捕捉的例外
Request: 表示 HttpServletRequest 对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取 cookie, header,和 session 数据的有用的方法。
Response: 表示 HttpServletResponse 对象,并提供了几个用于设置送回浏览器的响应的方法(如 cookies,头信息等)
Out: 对象是 javax.jsp.JspWriter 的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
pageContext: 表示一个 javax.servlet.jsp.PageContext 对象。它是用于方便存取各种范围的名字空间、servlet 相关的对象的 API,并且包装了通用的 servlet 相关功能的方法。
Session: 表示一个请求的 javax.servlet.http.HttpSession 对象。Session 可以存贮用户的
Applicaton: 表示一个 javax.servle.ServletContext 对象。这有助于查找有关 servlet 引擎和 servlet 环境的信息
Config: 表示一个 javax.servlet.ServletConfig 对象。该对象用于存取 servlet 实例的初始化参数。
12. jsp 有哪些动作?作用分别是什么?
JSP 共有以下6种基本动作
jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个 JavaBean。
jsp:setProperty:设置 JavaBean 的属性。
jsp:getProperty:输出某个 JavaBean 的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为 Java 插件生成 OBJECT 或 EMBED 标记
13. 页面间对象传递的方法
request,session,application,cookie 等
14. 两种跳转方式分别是什么?有什么区别?
有两种,分别为:
<jsp:include page=included.jsp flush=true>
<jsp:forward page= nextpage.jsp/>
前者页面不会转向 include 所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。
15.JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么?
JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达。JSP
编译后是"类 servlet"。JSP的优点是擅长于网页制作,生成动态页面比较直观,缺点是不容易跟踪与排错。
Servlet是纯Java语言,擅长于处理流程和业务逻辑,缺点是生成动态网页不直观。
Servlet 和 JSP 最主要的不同点在于,Servlet 的应用逻辑是在 Java文件中,并且完全从表示层中的 HTML 里分离开来。而 JSP 的情况是 Java 和 HTML 可以组合成一个扩展名为.jsp 的文件。JSP 侧重于视图,Servlet 主要用于控制逻辑。
16. MVC 的各个部分都有那些技术来实现?如何实现?
MVC 是 Model-View-Controller 的简写。Model 代表的是应用的业务逻辑(通过JavaBean,EJB 组件实现),View 是应用的表示面(由 JSP 页面产生),Controller 是提供应用的处理过程控制(一般是一个 Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
17. 我们在 web 应用开发过程中经常遇到输出某种编码的字符,如 iso8859-1等,如何输出一个某种编码的字符串?
Public String translate(String str) {
String tempStr =“”;
try {
tempStr=newString(str.getBytes(“ISO-8859-1”), “GBK”);
tempStr=tempStr.trim();
}
catch (Exception e) {
System.err.println(e.getMessage());
}
return tempStr;
}
18. servlet的jar包是?编写servlet需要继承什么类?
servlet-api.jar
HttpServlet
19.编写servlet通常要实现的方法?
doGet, doPost, init, destroy方法
20. doGet方法和doPost方法中的2个参数是什么?
httpServletRequest
httpServletResponse
21. 如何获取参数
request.getParameter–获取单值
request.getParameterValues–获取多值
21. forward,sendRedirect在Servlet中对应的方法?
RequestDispatcher rd = request.getRequestDispatcher(“目标文件”);
rd.forward(request, response);
response.sendRedirect(“目标文件”);
22.servlet在哪个文件中进行配置?
web.xml–web部署描述文件。WEB-INF\web.xml
23. 谈谈servlet过滤器的作用?
servlet过滤器是特殊的servlet,能够对特定的请求路径进行过滤,在访问这个路径之前,先执行过滤器,过滤器进行预处理,然后再进行后续的处理。
24. 谈谈servlet监听器的作用?
servlet监听器对特定的事件进行监听,当发生这些事件的时候,就会执行监听器的代码。
25. servlet API的2个主要包?
javax.servlet._;
javax.servlet.http._;
26.要给用户响应信息,如何完成?
response.setContentType(“text/html, charset=“GBK””);
PrintWriter out = response.getWriter();
out.println(“…”);
27.编译好的servlet类放在什么位置?
放在web应用WEB-INF下面的classes文件夹中。
28. 什么是web容器?
实现J2EE规范中web协议的应用。该协议定义了web程序的运行时环境,包括:并发性,安全性,生命周期管理等等。
29. jsp的执行过程?
1)客户端发出request请求
2)jsp容器将jsp转译成servlet的源代码
3)将产生的servlet的源代码经过编译后,加载到内存中
4)把结果response响应到客户端
30. 4种作用域
page:代表与一个页面相关的对象和属性。静态include可以共享该对象和属性
request:代表与某个请求相关的对象和属性。
session:代表与某个用户相关的对象和属性。
application:代表与整个web应用程序相关的对象和属性。
31. jsp的4种过滤器
request,forward,include,error
32. jsp中执行浏览器cache
response.setHeader(“Expires”, 0);
response.setHeader(“Cache-Control”, “no-cache”);
response.setHeader(“Pragma”, “no-cache”);
33. jsp中设置cookie
Cookie c = new Cookie(“name”, “tomzhang”);
response.addCookie©;
34. jsp中删除cookie
c.setMaxAge(0);
35. jsp中如何停止jsp的执行
<%
if(条件表达式){
//do something
}else{
return;
}
%>
36. 当使用一个结果集时,如何防止字段为"null"显示在html文本域中?
<%!
String blanknull(String s){
if(s == null or s.equals(“”)){ s = “”;}
return s;
}
%>
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化
[外链图片转存中…(img-VpLRd6BW-1713556668712)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!