1. 使用HTTP协议将客户端的请求传送到服务器端有哪两种方式?请简述它们的区别
1) get是从服务器上获取数据,post是向服务器传送数据。
2) 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。
3) 对于get方式,服务器端用request.getQueryString()可以获取GET请求参数的变量值,对于post方式,服务器端用request.getParameter获取提交的数据。
4) GET方式提交的数据最多只能有1024字节,而POST则没有此限制。
5) 安全性问题。正如在(1)中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。
2. WEB容器主要有哪些功能? 并请列出一些常见的WEB容器名字。
1) 提供Servlet程序编写API
2) 提供Servlet程序运行时环境。
常见的有 Apache, IIS, Tomcat, Resin 等等
3. 请简述Servlet的生命周期及其相关的方法。
实例化,初始化,提供服务,销毁
1
|
init
(
)、
service
(
)和
destroy
(
)
|
4. 在Servlet中,我们通过什么方法获取客户端提交的数据
1
|
Request
.
getParameter
(
)
|
5. 在Servlet中,通过什么语句生成向客户端发送的页面? 请编写一段简单的Hello World输出
1
2
3
|
PrintWriter
out
=
response
.
getWriter
(
)
;
Out
.
print
(
)
;
Out
.
print
(“
Hello
World
!”
)
;
|
6. 请简述一下部署Serlvet的过程
1
2
3
4
5
6
7
8
|
<servlet>
<
servlet
-
name
>
test
<
/
servelt
-
name
>
<
servlet
-
class
>
TestServlet
<
/
servlet
-
class
>
<
/
servlet
>
<
servlet
-
mapping
>
<
servlet
-
name
>
test
<
/
servlet
-
name
>
<
url
-
pattern
>
/
TestServlet
<
/
url
-
pattern
>
<
/
servlet
-
mapping
>
|
把你项目的WebRoot文件夹拷贝到Tomcat的webapps文件夹下
7. Tomcat服务器的默认端口是? 为了中文字符处理不出现乱码,我们需要对Tomcat的配置做出什么修改?
1
2
|
8080
URIEncoding
=”
utf
-
8”
|
8. JSP的标记是如何来表示的?
1
|
&
lt
;
%
%
&
gt
;
|
9. 在JSP里声明一个变量的标记是?
1
|
&
lt
;
%
!
%
&
gt
;
|
10. 有一个字符串变量 String str=”abc”; 在JSP里以下哪些输出方式是正确的? BDE
1
2
3
4
5
|
A
.
&
lt
;
%=
abc
;
%
&
gt
;
B
.
&
lt
;
%
out
.
print
(
str
)
;
%
&
gt
;
C
.
&
lt
;
%
out
.
print
(
str
)
%
&
gt
;
D
.
&
lt
;
%=
abc
%
&
gt
;
E
.
&
lt
;
%
out
.
println
(
str
)
;
%
&
gt
;
F
.
&
lt
;
%
out
.
println
(
str
)
%
&
gt
;
|
11. 在一个JSP文档中,可以出现以下三种注释:
1) JSP注释标记<%– –%>
2) HTML注释<!– –>
3) JAVA注释 // /**/
请分别对它们简单描述一下
12. JSP的page指令常见的属性都有哪些?
1
2
3
4
5
6
7
8
9
10
11
|
Language
,
contentType
,
import
,
errorPage
,
isErrorPage
,
extends
,
session
,
info
,
isThreadSafe
,
buffer
,
autoflush
|
13. 假设需要在一个JSP页面里导入java.util.List, java.util.ArrayList, java.io.File,语句应该怎么写?
1
|
&
lt
;
%
@page
import
=”
java
.
util
.
List
,
java
.
util
.
ArrayList
,
java
.
io
.
File”
%
&
gt
;
|
14. 若要导入footer.html 页面,使用JSP的include指令应该如下导入?
1
|
&
lt
;
%
@include
file
=”
footer
.
html”
%
&
gt
;
|
15. JSP的include指令和include操作有什么区别?
1) 语法结构不同
2) include指令更适合于包含静态页面, include操作更适合于包含动态页面
3)include操作还带有参数 flush=”true|false”
16. 请分别描述一下forward和redirect的区别
1) 使用forward浏览器地址栏不变,redirect浏览器地址栏会改变
2) Forward效率较高
3) Forward可以使用request.getAttribute()获取数据,而redirect不可以
17. 在Servlet和JSP里是如何实现 forward和redirect的? 例如要跳转去一个test.jsp页面。
1
2
3
4
5
6
7
8
|
//Servlet
RequestDispatcher
rd
=
this
.
getServletContext
(
)
.
getRequestDispatcher
(“
/
test
.
jsp”
)
;
rd
.
forward
(
request
,
response
)
;
response
.
sendRedirect
(“
/
test
.
jsp”
)
;
//JSP
&
lt
;
jsp
:
forward
page
=”
/
test
.
jsp
”
/
&
gt
;
response
.
sendRedirect
(“
/
test
.
jsp”
)
;
|
18. jsp主要内置对象有?
1
2
3
4
5
6
7
8
9
|
request、
response
out
exception、
session、
application、
config、
pageContext
page
|
19. 在JSP里,我们可以怎样获取来自客户端请求的IP地址?
1
|
Request
.
getRemoteAddr
(
)
;
|