Java面试题集116135Word文档格式.docx
- 文档编号:20869365
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:28
- 大小:239.09KB
Java面试题集116135Word文档格式.docx
《Java面试题集116135Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java面试题集116135Word文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
JSP页面本身(相当于Java程序中的this);
9.exception:
封装页面抛出异常的对象。
【补充】如果用Servlet来生成网页中的动态内容无疑是非常繁琐的工作,另一方面,所有的文本和HTML标签都是硬编码,即使做出微小的修改,都需要进行重新编译。
JSP解决了Servlet的这些问题,它是Servlet很好的补充,可以专门用作呈现给用户的视图(View),而Servlet作为控制器(Controller)专门负责处理用户请求并转发或重定向到某个页面。
基于Java的Web开发很多都同时使用了Servlet和JSP。
JSP页面其实是一个Servlet,能够运行Servlet的服务器(Servlet容器)通常也是JSP容器,可以提供JSP页面的运行环境,Tomcat就是一个Servlet/JSP容器。
第一次请求一个JSP页面时,Servlet/JSP容器首先将JSP页面转换成一个JSP页面的实现类,这是一个实现了JspPage接口或其子接口HttpJspPage的Java类。
JspPage接口是Servlet的子接口,因此每个JSP页面都是一个Servlet。
转换成功后,容器会编译Servlet类,之后容器加载和实例化Java字节码,并执行它通常对Servlet所做的生命周期操作。
对同一个JSP页面的后续请求,容器会查看这个JSP页面是否被修改过,如果修改过就会重新转换并重新编译并执行。
如果没有则执行内存中已经存在的Servlet实例。
我们可以看一段JSP代码对应的Java程序就知道一切了,而且9个内置对象的神秘面纱也会被揭开。
JSP页面:
[html]
viewplain
copy
1.<
%@
page
pageEncoding="
UTF-8"
%>
2.<
%
3.String
path
=
request.getContextPath();
4.String
basePath
request.getScheme()+"
:
//"
+request.getServerName()+"
"
+request.getServerPort()+path+"
/"
;
5.%>
6.
7.<
!
DOCTYPE
html>
8.<
9.
<
head>
10.
base
href="
%=basePath%>
>
11.
title>
首页<
/title>
12.
style
type="
text/css"
13.
*
{
font-family:
Arial"
}
14.
/style>
15.
/head>
16.
17.
body>
18.
h1>
Hello,
World!
/h1>
19.
hr/>
20.
h2>
Current
time
is:
%=
new
java.util.Date().toString()
/h2>
21.
/body>
22.<
/html>
对应的Java代码:
[java]
1./*
2.
Generated
by
the
Jasper
component
of
Apache
Tomcat
3.
Version:
Tomcat/7.0.52
4.
at:
2014-10-13
13:
28:
38
UTC
5.
Note:
The
last
modified
this
file
was
set
to
source
after
7.
generation
assist
with
modification
tracking.
8.
*/
9.package
org.apache.jsp;
11.import
javax.servlet.*;
12.import
javax.servlet.http.*;
13.import
javax.servlet.jsp.*;
15.public
final
class
index_jsp
extends
org.apache.jasper.runtime.HttpJspBase
implements
org.apache.jasper.runtime.JspSourceDependent
private
static
javax.servlet.jsp.JspFactory
_jspxFactory
.getDefaultFactory();
java.util.Map<
java.lang.String,
java.lang.Long>
_jspx_dependants;
22.
23.
javax.el.ExpressionFactory
_el_expressionfactory;
24.
org.apache.tomcat.InstanceManager
_jsp_instancemanager;
25.
26.
public
getDependants()
27.
return
28.
29.
30.
void
_jspInit()
31.
_el_expressionfactory
_jspxFactory.getJspApplicationContext(
32.
getServletConfig().getServletContext()).getExpressionFactory();
33.
_jsp_instancemanager
org.apache.jasper.runtime.InstanceManagerFactory
34.
.getInstanceManager(getServletConfig());
35.
36.
37.
_jspDestroy()
38.
39.
40.
_jspService(
41.
javax.servlet.http.HttpServletRequest
request,
42.
javax.servlet.http.HttpServletResponse
response)
43.
throws
java.io.IOException,
javax.servlet.ServletException
44.//
9个内置对象就是在这里定义的
45.
javax.servlet.jsp.PageContext
pageContext;
46.
javax.servlet.http.HttpSession
session
null;
47.
javax.servlet.ServletContext
application;
48.
javax.servlet.ServletConfig
config;
49.
javax.servlet.jsp.JspWriter
out
50.
java.lang.Object
this;
51.
_jspx_out
52.
_jspx_page_context
53.
54.
try
55.
response.setContentType("
text/html;
charset=UTF-8"
);
56.
pageContext
_jspxFactory.getPageContext(this,
response,
57.
null,
true,
8192,
true);
58.
59.
application
pageContext.getServletContext();
60.
config
pageContext.getServletConfig();
61.
pageContext.getSession();
62.
pageContext.getOut();
63.
out;
64.
65.
out.write('
\r'
66.
\n'
67.
68.
String
69.
request.getScheme()
+
70.
request.getServerName()
request.getServerPort()
71.
72.//
以下代码通过输出流将HTML标签输出到浏览器中
73.
out.write("
\r\n"
74.
75.
76.
77.
78.
href=\"
79.
out.print(basePath);
80.
\"
81.
82.
type=\"
text/css\"
83.
\t*
Arial\"
}\r\n"
84.
85.
86.
87.
88.
89.
90.
91.
out.print(new
java.util.Date().toString());
92.
93.
94.
95.
catch
(java.lang.Throwable
t)
96.
if
(!
(t
instanceof
javax.servlet.jsp.SkipPageException))
97.
_jspx_out;
98.
(out
null
&
out.getBufferSize()
0)
99.
100.
out.clearBuffer();
101.
(java.io.IOException
e)
102.
103.
(_jspx_page_context
null)
104.
_jspx_page_context.handlePageException(t);
105.
else
106.
throw
ServletException(t);
107.
108.
finally
109.
_jspxFactory.releasePageContext(_jspx_page_context);
110.
111.
112.}
119、get和post请求的区别?
①get请求用来从服务器上获得资源,而post是用来向服务器提交数据;
②get将表单中数据按照name=value的形式,添加到action所指向的URL后面,并且两者使用“?
”连接,而各个变量之间使用“&
”连接;
post是将表单中的数据放在HTML头部(header),传递到action所指向URL;
③get传输的数据要受到URL长度限制(1024字节);
而post可以传输大量的数据,上传文件只能使用post方式;
④使用get时参数会显示在地址栏上,如果这些数据不是敏感数据,那么可以使用get;
对于敏感数据还是应用使用post;
⑤get使用MIME类型application/x-www-form-urlencoded的URL编码(URLencoding,也叫百分号编码)文本的格式传递参数,保证被传送的参数由遵循规范的文本组成,例如一个空格的编码是"
%20"
。
120、常用的Web容器
Unix和Linux平台下使用最广泛的免费HTTP服务器是Apache服务器,而Windows平台的服务器通常使用IIS作为Web服务器。
选择Web服务器应考虑的因素有:
性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等。
下面是对常用服务器的简介:
∙IIS:
Microsoft的Web服务器产品为InternetInformationServices。
IIS是允许在公共Intranet或Internet上发布信息的Web服务器。
IIS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在IIS的平台上。
IIS提供了一个图形界面的管理工具,称为Internet服务管理器,可用于监视配置和控制Internet服务。
IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。
它提供ISAPI(IntranetServerAPI)作为扩展Web服务器功能的编程接口;
同时,它还提供一个Internet数据库连接器,可以实现对数据库的查询和更新。
∙Kangle:
Kangle
Web服务器是一款跨平台、功能强大、安全稳定、易操作的高性能Web服务器和反向代理服务器软件。
此外,Kangle也是一款专为做虚拟主机研发的Web服务器。
实现虚拟主机独立进程、独立身份运行。
用户之间安全隔离,一个用户出问题不影响其他用户。
支持PHP、ASP、ASP.NET、Java、Ruby等多种动态开发语言。
∙WebSphere:
WebSphereApplicationServer是功能完善、开放的Web应用程序服务器,是IBM电子商务计划的核心部分,它是基于Java的应用环境,用于建立、部署和管理Internet和IntranetWeb应用程序,适应各种Web应用程序服务器的需要,范围从简单到高级直到企业级。
∙WebLogic:
BEAWebLogicServer是一种多功能、基于标准的Web应用服务器,为企业构建自己的应用提供了坚实的基础。
各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库,还是提交服务、跨Internet协作,Weblogic都提供了相应的支持。
由于它具有全面的功能、对开放标准的遵从性、多层架构、支持基于组件的开发,基于Internet的企业都选择它来开发、部署最佳的应用。
BEAWebLogicServer在使应用服务器成为企业应用架构的基础方面一直处于领先地位,为构建集成化的企业级应用提供了稳固的基础,它们以Internet的容量和速度,在连网的企业之
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 试题 116135