Java Web开发工程师笔试题[1]
Java Web开发工程师笔试题
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的生命周期及其相关的方法。
实例化,初始化,提供服务,销毁
init()、service()和destroy()
4. 在Servlet中,我们通过什么方法获取客户端提交的数据
Request.getParameter()
5. 在Servlet中,通过什么语句生成向客户端发送的页面?请编写一段简单的Hello World输出
PrintWriter out = response.getWriter();
Out.print();
Out.print(“Hello World!”);
6. 请简述一下部署Serlvet的过程
把你项目的WebRoot文件夹拷贝到Tomcat的webapps文件夹下
7. Tomcat服务器的默认端口是? 为了中文字符处理不出现乱码,我们需要对Tomcat的配置做出什么修改?
8080
URIEncoding=”utf-8”
8. JSP的标记是如何来表示的?C
A. <>
B. ?>
C. <%%>
D. <$$>
9. 在JSP里声明一个变量的标记是?
<%!%>
10. 有一个字符串变量String str=”abc”; 在JSP里以下哪些输出方式是正确的?BDE
A. <%=abc;%>
B. <%out.print(str);%>
C. <%out.print(str)%>
D.
<%=abc%>
E. <%out.println(str);%>
F. <%out.println(str)%>
11. 在一个JSP文档中,可以出现以下三种注释:
1) JSP注释标记<%––%>
2) HTML注释
3) JAVA注释// /**/
请分别对它们简单描述一下
12. JSP的page指令常见的属性都有哪些?
Language, contentType, import, errorPage, isErrorPage, extends, session, info, isThreadSafe, buffer, autoflush
13. 假设需要在一个JSP页面里导入java.util.List, java.util.ArrayList, java.io.File,语句应该怎么写?
<%@page import=”java.util.List, java.util.ArrayList, java.io.File”%> 14. 若要导入footer.html 页面,使用JSP的include指令应该如下导入?<%@include file=”footer.html”%>
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页面。
//Servlet
RequestDispatcher rd = this.getServletContext(). getRequestDispatcher(“/test.jsp”);
rd.forward(request, response);
response.sendRedirect(“/test.jsp”);
//JSP
response.sendRedirect(“/test.jsp”);
18. jsp主要内置对象有?
request、response和out,还有exception、session、application、config、pageContext和page
19. 在JSP里,我们可以怎样获取来自客户端请求的IP地址?
Request.getRemoteAddr();
20. 有一个用户名test, 密码12345, 请编写一段创建COOKIE的JSP代码, 然后再编写一段读取COOKIE的JSP代码,在页面上将COOKIE的信息显示出来。
String str = “username= test&password=12345”;
Cookie cookie=new Cookie(“mycookie”, str);
response.addCookie(cookie);
Cookie cookies[]=request.getCookies();
For(int i=0;i< cookies.length;i++){
Out.print(cookies.getName+”=”+ cookies.getValue());
}
21. 请简述Cookie, Session 和Application它们的区别。
1) Cookie会在客户端硬盘上创建Cookie文件
2) Session大部分情况下会在服务器端硬盘上写入Cookie文件
3) Cookie安全性最低
4) Application 表示Servlet上下文环境,在整个WEB应用中只有一个Application对象,用于存储些全局性的数据
22. 在DOM编程里,为了得到一个HTML文档元素,我们可以使用document 对象的哪些方法,请列出。
//根据ID //根据元素的name属性值//根据元素的标签名
Document.getElementById, ByName, ByTagName
23. 有如下所示的页面:
页面里有一个form表单: