JAVA企业面试题精选 Servlet和JSP 11-20
来源:互联网 发布:JavaScript post 编辑:程序博客网 时间:2024/06/04 20:33
2.11.简述GET和POST的区别
参考答案:
GET和POST的区别如下:
1.从提交的数据量上来说,get方式会将请求参数及参数值放在请求资源路劲里面,携带的数据大小有限制,不适合提交大量的数据;post方式会将请求参数及参数值放在实体内容里面,理论上没有限制,适合大量数据的提交.
2.从安全上来讲,post方式相对安全(因为请求参数及值存放在实体内容里面,而get方式会将请求参数及值显示在浏览器地址栏).但是要注意,post方式并没有将数据加密.
2.12.简述什么是重定向
参考答案:
服务器向浏览器发送一个302状态码及一个Location消息头(该消息头的值是一个地址,称之为重定向地址),浏览器收到后会立即向重定向地址发出请求.
2.13.Servlet是否线程安全的,如何解决?
参考答案:
Servlet存在线程安全问题.容器收到请求之后,会启动一个线程来来进行相应的处理.
默认情况下,容器只会为某个Servlet创建一个实例,如果同时有多个请求同时访问某个Servlet则肯定会有多个线程访问同一个Servlet实例.如果这些线程要修改Servlet实例的某个属性,就有可能发生线程安全问题.
可以使用synchronized对代码加锁来解决Servlet的安全问题.
2.14.简述转发和重定向有什么区别
参考答案:
转发和重定向的区别有以下几点:
1.重定向是浏览器发送请求并收到响应以后再次向一个新地址发请求,转发是服务器收到请求后为了完成响应转到一个新的地址.
2.重定向中有两次请求,不同享数据,转发只产生一次请求,且在组件间共享数据.
3.重定向后地址栏地址改变,而转发不会.
4.重定向的新地址可以是任意地址,转发到的新地址必须是同一个应用内的某地址.
2.15.简述什么是转发以及如何实现转发
参考答案:
转发是一个Web组件(Servlet/JSP)将未完成的处理通过容器转交给另外一个Web组件继续完成.
可以按照以下三个步骤来实现转发:
1.绑定数据到request对象,代码如下:
request.setAttribute(String name,Object obj);
2.获得转发器,代码如下:
RequestDispatcher rd = request.getRequestDispatcher(String uri);
3.转发,代码如下:
rd.forward(request,response);
2.16.指出/images/123.jpg与images/123.jpg两种写法的区别
参考答案:
”/images/123.jpg”是绝对地址,根目录下的images子目录下的123.jpg文件;
”images/123.jpg”是相对地址,位置是相对于当前目录而言,指当前目录下images子目录下的123.jpg文件.
2.17.Tomcat服务器的默认端口是什么?怎样修改Tomcat的端口为8009?
参考答案:
Tomcat服务器的默认端口是8080.修改Tomcat端口的方法如下:
&esmp;首先,在Tomcat安装根目录下的子文件夹conf中找到文件server.xml;
然后,将其用无格式的文本编辑器打开,找到下列配置代码:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
将以上配置代码中的8080更改为8009,即修改了Tomcat的端口为8009.
2.18.以Tomcat为例,描述一个jsp数据请求,到数据返回的过程,该过程中Tomcat内部机制如何实现
参考答案:
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选.Tomcat处理一个http请求的过程,假设来自客户的请求为:
http://localhost:8080/wsota/wsota_index.jsp
对上述请求的执行步骤如下:
1)请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得;
&esmp;2)Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应;
3)Engine获得请求localhost/wsota/wsota_index.jsp,匹配它所拥有的所有虚拟主机Host;
4)Engine匹配到位名localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机);
5)localhost Host获得请求/wsota/wsota_index.jsp,匹配它所拥有的所有Context;
&emp; 6)Host匹配到路径为/wsota的Context(如果匹配不到就把该请求交给路径名为”“的Context去处理);
7)path=”/wsota”的Context获得请求/wsota_index.jsp,在它的mapping table中寻找对应的Servlet;
8)Context匹配到URL PATTERN为*.jsp的Servlet,对应JSPServlet类;
9)构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JSPServlet的doGet或doPost方法;
10)Context把执行完了之后的HttpServletResponse对象返回给Host;
11)Host把HttpServletResponse对象返回给Engine;
12)Engine把HttpServletResponse对象返回给Connector;
13)Connector把HttpServletResponse对象返回给客户浏览器.
2.19.熟悉Tomcat吗?你知道在Tomcat server.xml文件中都配置了哪些内容?
参考答案:
server.xml文件描述了如何启动Tomcat Server.文件格式如下:
<Server> <Listener /> <GlobaNamingResources> </GlobaNamingResources <Service> <Connector /> <Engine> <Logger /> <Realm /> <host> <Logger /> <Context /> </host> </Engine> </Service></Server>
1.<Server>
元素:它代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义.它包含一个<Service>
元素.并且它不能做为任何元素的子元素.
2.<Service>
元素:一个”Service”是一个或多个公用一个单独”Container”(容器)的”Connectors”组合(因此,应用程序在容器中可见).通常,这个容器是一个”Engine”(引擎),但这不是必须的.该元素由org.apache.catalina.Service接口定义,它包含一个元素,以及一个或多个<Connector>,
这些Connector元素共享用同一个Engine元素
3.<Connector>
元素:由Connector接口定义.<Connector>
元素代表与客户程序实际交互的给件,它负责接收客户请求,以及向客户返回响应结果. 请看下列配置代码:
<Connector port="8080" maxThread="50" minSpareThreads="25" maxSpareThread="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" /><Connection port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />
上述代码中,第一个Connector元素定义了一个HTTP Connector,它通过8080端口接收HTTP请求;第二个Connector元素定义了一个JD Connector,它通过8009端口接收由其它服务器转发过来的请求.
4.<Engine>
元素:每个Service元素只能有一个Engine元素.处理在同一个中所有元素接收到的客户请求.由org.apahce.catalina.Engine接口定义.
一个“Engine”(引擎)代表处理每个请求的入口点(在Catalina内)。这个Tomcat的标准独立引擎实现分析包含在请求中的HTTP头信息,并将请求传送到适当的主机或虚拟主机上.
5<Host>
元素:它由Host接口定义.一个Engine元素可以包含多个<Host>
元素.每个<Host>
的元素定义了一个虚拟主机.它包含了一个或多个Web应用.
6<Context>
元素:它由Context接口定义.是使用最频繁的元素.每个<Context>
元素代表了运行在虚拟主机上的单个Web应用.一个<Host>
可以包含多个<Context>
元素.每个web应用有唯一的一个相对应的Context代表web应用自身.servlet容器为第一个web应用创建一个 Context,对应于一个Web App.
2.20.CORBA是什么?用途是什么?
参考答案:
CORBA标准是公共对象请求代理结构(Common Object Request BrokerArchitecture),由对象管理组织(Object Management Group,缩写为OMG)标准化.它的组成是接口定义语言(IDL)语言标定(binding:也译为联编)和允许应用程序间互操作的协议.其目的为:用不同的程序设计预言书写在不同的进程中运行,为不同的操作系统开发.
- JAVA企业面试题精选 Servlet和JSP 11-20
- JAVA企业面试题精选 Servlet和JSP 1-10
- JAVA企业面试题精选 Servlet和JSP 21-30
- JAVA企业面试题精选 Servlet和JSP 31-40
- JAVA企业面试题精选 Servlet和JSP 41-48
- JSP和Servlet面试题精选
- JSP和Servlet面试题精选
- JSP和Servlet面试题精选
- JSP和Servlet面试题精选1
- JSP和Servlet面试题精选2
- JSP和Servlet面试题精选
- JSP和Servlet面试题精选
- JSP和Servlet面试题精选
- JSP和Servlet面试题精选
- JAVA企业面试题精选 Java基础 11-20
- JAVA企业面试题精选 Java SE 11-20
- JAVA企业面试题精选 OOP 11-20
- JAVA企业面试题精选 数据库11-20
- swift判断对象不是某一个类的方法
- ajax 跨域 后端解决
- 用户体验的黄金时代结束了吗?
- 同步订单数据,数据量大解决方案
- 2017年的六大顶级开源项目
- JAVA企业面试题精选 Servlet和JSP 11-20
- 积累: .net里有个线程安全的int+1类
- PL/SQL:WHILE循环:打印2-200之间的素数
- 51nod【1381】硬币游戏【思维】
- pygame安装
- 问题解决:java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date
- dp基础7-- [HDU-1087] [Problem E]
- [Python 3.6.2] 5.1 Data Structure -- LIST METHODS
- 欢迎使用CSDN-markdown编辑器