首页 java面试 java面试题(八)一开发web面试

java面试题(八)一开发web面试

1. 使用HTTP协议将客户端的请求传送到服务器端有哪两种方式?请简述它们的区别 1) get是从服务器上获取数据,po…

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的过程

<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的配置做出什么修改?

8080
URIEncoding=”utf-8”

 

 

 

8. JSP的标记是如何来表示的?

<%%>

 

 

 

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
<jsp:forward page=”/test.jsp ” />
response.sendRedirect(“/test.jsp”);

 

18. jsp主要内置对象有?

request、
response
out
exception、
session、
application、
config、
pageContext
page

 

19. 在JSP里,我们可以怎样获取来自客户端请求的IP地址?

Request.getRemoteAddr();

 

 

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

jdbc和mybatis的区别

jdbc和mybatis的区别

jdbc和mybatis的区别 mybatis也是基于JDBC的。Java与数据库操作仅能通过JDBC完成。 mybat...
美团、58、百度、阿里面经(转)

美团、58、百度、阿里面经(转)

百度 一面: 自我介绍、 hashmap和hashtable区别、 对线程安全的理解、 讲讲web三大架构、 为什么要用...
软件测试工程师-面试题

软件测试工程师-面试题

  1、什么是软件测试?2’ 2、软件测试与软件质量保证的区别。10’ 3、报告软件缺陷时,测试人员要对软件缺...
spring面试集合

spring面试集合

问题清单: 什么是Spring框架?Spring框架有哪些主要模块? 使用Spring框架有什么好处? 什么是控制反转(...
Java中的注解是如何工作的?

Java中的注解是如何工作的?

自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如...
返回顶部