杭州IT培训
美国上市IT培训机构

400-111-8989

WEB常用基础知识

  • 时间:2019-01-04 14:34
  • 发布:WEB
  • 来源:WEB

说出Servlet的生命周期,并说出ServletGCI的区别。

Web容器加载Servlet并将其实例化后,Servlet生命周期开始,容器运行其init方法进行Servlet的初始化,请求到达时运行其Service方法,Servive方法自动派遣运行与请求对应的doXXX方法(doGetdoPost)等;当服务器决定将实例销毁的时候调用其destroy方法。与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其Service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet

forwardredirect的区别。

forwrad是容器中控制权的转向,是服务器请求资源,服务器直接访问目标地址的URL把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪里来的,所以它的地址栏还是原来的地址。

redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以SessionRequest参数都可以获取,并且从浏览器的地址栏中可以看到跳转后的链接地址。前者更加高效,在前者可以满足需要时,尽量使用forwrad()方法,并且,这样也有助于隐藏实际的链接;在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。

JSP中动态INCLUDE与静态INCLUDE的区别。

动态INCLUDEjsp:include动作实现<jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数;静态INCLUDEinclude伪码实现,它不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.html" %>

说出数据连接池的工作机制是什么。

J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要建立时,池驱动程序会返回一个未使用的池连接并将其标记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当时用的池连接调用完成后,池驱动程序将此连接标记为空闲,其他调用就可以使用这个连接。

JSP的内置对象及方法。

request 表示 HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookieheadersession数据的有用的方法;

response 表示 HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法(cookies、头信息等)

out 对象是 javaxjspJspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果;

pageContext 表示一个 javaxservlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法;

session 表示一个请求的 javaxservlet.http.HttpSession 对象。Session可以存贮用户的状态信息;

application 表示一个 javaxservlet.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息;

config 表示一个 javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数;

page 表示从该页面产生的一个servlet 实例。

JSP的常用指令。

<%@page language="java" contenType="text/html;charset=gb2312" session="true" buffer="64kb" autoFlush="true" isThreadSafe="true" info="text" errorPage="error.jsp" isErrorPage="true" isELIgnored="true" pageEncoding="gb2312" import="java.sql.*" %>

isErrorPage:是否能使用Exception对象;

isELIgnored:是否忽略EL表达式;

<%@include file="filename" %>

<%@taglib prefix="c" uri="http://........core" %>

jsp有哪些动作?作用分别是什么?

JSP共有以下六种基本动作:

jsp:include 在页面被请求的时候引入一个文件;

jsp:useBean 寻找或者实例化一个JavaBean

jsp:setProperty 设置JavaBean的属性;

jsp:getProperty 输出某个JavaBean的属性;

jsp:forwrad 把请求转到一个新的页面;

jsp:plugin 根据浏览器类型为Java插件生成ObjectEmbed标记。

jsp有哪些内置对象?作用分别是什么?

JSP共有以下九种基本内置组件(可与ASP的六种内部组件相对应):

request: 用户端请求,此请求会包含来自GET/POST请求的参数;

response: 网页传回用户端的回应;

pageContext: 网页的属性是在这里管理;

session: 与请求有关的会话期;

application: servlet正在执行的内容;

out: 用来传送回应的输出;

config: servlet的构造部件;

page: JSP网页本身;

exception: 针对错误网页,未捕捉的例外。

GETPOST的区别?

form中的getpost方法,在数据传输过程中分别对应了HTTP协议中的GETPOST方法。二者主要区别如下:

1GET是用来从服务器获取数据,而POST是用来向上传递数据;

2GET将表单中数据按照vaeiable=value的形式,添加到action所指向的URL后面,并且两者使用连接,而各个变量之间使用“&”连接;POST是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL

3GET是不安全的,因为在传输过程,数据被放在请求的URL中;POST的所有操作对用户来说都是不可见的;

4GET传输的数据小,这主要是因为受URL长度限制;而POST可以传输大量的数据,所以在上传文件只能使用POST

5GET限制form表单的数据集必须为ASCLL字符,而POST支持整个ISO10646字符集;

6GETform的默认方法。

什么情况下调用doGet()doPost()

Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()

如何从form表单中得取checkbox的值?

可在页面把checkboxname属性取同一个,value属性取每个条目的id,后台用getParamter("name")能取到checkbox的一组值。

页面中有一个命名为bank的下拉列表,写脚本获取当前选项的索引值。

java javaScript的处理方式分别如下:

Java: request.getParameter("bank");

javaScript: var selectItems = document.getElementsByName("bank");

selectItems[0].value;

javaScript 常用的方面

常用于数据输入效验和页面特殊效果等;

常用的web容器和开发工具

最常用的容器包括:tomcatweblogic

开发工具:eclipsejbuilder

JSPServlet有哪些相同点和不同点,它们之间的联系是什么?

JSPServlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"servlet"ServletJSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是JavaHTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

jsp的四种范围

page是代表与一个页面相关的对象和属性。一个页面由一个编译好的Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括servlet又包括被编译成 servlet JSP 页面;

request是代表与Web客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个Web组件(由于 forwrad 指令和 include 动作的关系);

session 是代表与用于某个Web客户机的一个用户体验相关的对象和属性。一个Web会话可以也经常会跨越多个客户机请求;

application 是代表与整个Web应用程序相关的对象和属性。这实质上是跨越整个Web应用程序,包括多个页面,请求和会话的一个全局作用域。

 

预约申请免费试听课

怕钱不够?就业挣钱后再付学费!    怕学不会?从入学起,达内定制课程!     担心就业?达内多家实践企业供你挑选 !

【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与联系我们,我们会予以更改或删除相关文章,以保证您的权益!"
上一篇:什么是代码架构?
下一篇:IT业各岗位技能和晋升路径全盘点

Java 后端有哪些不用学的技术?

分布式存储之数据切片

策略模式:巧妙替代你的if-else

sorted()之正序倒序

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
江西省

贵州省

广西省

海南省