Web技术——复习笔记

jsp:useBean 语句的 scope 属性取 sessionapplication 时有何区别。

可以从英文翻译上理解:

  • 前者(application:应用程序)仅在WEB服务启动时才刷新;
  • 后者(session:会话)在重新打开浏览器时刷新(但是刷新打开的页面无效)。

分别说出JSP技术中的三种编译指令、动作指令和常用对象,并做简要的功能说明。

编译:

  • page:针对当前页面;
  • include:包含另一个页面;
  • taglib:定义和访问自定义标签。

动作

  • jsp:forward:执行页面转向,将请求的处理转发到下一个页面。
  • jsp:param:用于传递参数,必须与其他支持参数的标签一起使用。
  • jsp:include:用于动态引入一个JSP页面。
  • jsp:plugin:用于下载JavaBean或Applet到客户端执行。

对象

  • outjavax.servlet.jsp.JspWriter 的实例,代表jsp的页面输出流,用于输出内容
  • page:代表页面本身,也就是servlet中的this,一般不用
  • requestjavax.servlet.http.HttpServletRequest 的实例,封装了一次请求
  • responsejavax.servlet.http.HttpServletResponse 的实例,封装了一次响应
  • sessionjavax.servlet.http.HttpSession 的实例,代表一次会话

请简述Servlet的生命周期主要有哪几个过程组成?主要调用哪几个方法?

Servlet的生命周期包括:创建、初始化、执行、销毁四大阶段。

1、创建:在启动Tomcat的过程中,根据配置文件来决定Servlet实例何时创建,默认在第一次被访问时创建,可以通过配置web.xml中的标签或者是@WebServlet注释中的loadOnStartup的值,调用Servlet实现类的构造器进行创建;

2、初始化:首先调用init(ServletConfig config),然后创建ServletConfig实力对象调用getServletConfig()方法;

3、执行:Tomcat只会调用Servlet接口中的service()方法,然后在通过方法的层层调用,最后去调用我们重写的doXXX方法;

4、销毁:Tomcat会调用Servlet实例的destory()方法。

简述JSP与Java Servlet的关系。

  • JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。
  • JSP编译后是"类servlet"。
  • JSP侧重于视图,Servlet主要用于控制逻辑。

HTML、JSP、JAVA程序中的注释格式分别是怎样的?

<!-- -->

<%-- --%>

行注释://….. 块注释:/*……*/

请简述 <%@ include file="a.jsp"%><jsp:include page="a.jsp"> 两个指令的相同点和不同点。

  • 前者是指令元素、后者是行为元素。
  • 执行时间不同:前者是在翻译阶段执行,后者在请求处理阶段执行。
  • 引入内容的不同: 前者引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起;后者引入执行页面或servlet所生成的应答文本。

什么是Java Bean?

JavaBeans是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)中。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。名称中的“Bean”是用于Java的可重用软件组件的惯用叫法。

一般的WEB服务器包含以下几个目录组成,请说明各部分的主要功能。

/bin /common /conf /logs /webapps /work

bin: 存放启动和关闭tomcat的脚本文件,如打开startup.bat 关闭shutdown.bat

conf: 存放tomcat各种的配置文件

lib:存放tomcat服务器和web程序需要访问的JAR文件

logs:存放tomcat的日志文件

temp:存放tomcat运行时临时产生的文件

work:存放服务器运行时产生的文件

一个标准的javabean类的构造方法有何特别要求?

  • 一个公共类。
  • 有一个公共的无参的构造方法。
  • 属性定义为私有的。
  • 在Javabean中,需要每队属性提供两个公共方法(get方法和set方法)。
  • 定义时,通常放在一个命名的包下。

说明 response.sendRedirect("a.jsp");<jsp:forward page="a.jsp"> 的区别。

  • 前者属于客户端跳转(两次request两次响应);后者属于服务器端跳转(一次request一次响应)。
  • 前者会在客户端(新的页面)呈现跳转后的URL地址。
  • 后者完全是在服务器上进行的,浏览器上的地址栏中的地址没有发生改变。

配置tomcat安装环境时,要配置哪些环境变量?

CATALINA_HOME、CATALINA_BASE,在 Path 后添加 ;%CATALINA_HOME%lib; %CATALINA_HOME%in;

requestresponse 这两个jsp内建对象有何不同?

request :封装了用户提交给服务器的信息,用来取出请求信息。

response :封装了服务器给客户端的响应信息,用来添加要返回给浏览器的信息。

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

  • 格式不同,静态包含:<%@ include file="文件" %> ,而动态包含 <jsp:include page = "文件" />
  • 包含时间不同,静态包含是先将几个文件合并,然后再被编译,缺点就是如果含有相同的标签,会出错。 动态包含是页面被请求时编译,将结果放在一个页面。
  • 生成的文件不同,静态包含会生成一个包含页面名字的servlet和class文件;而动态包含会各自生成对应的servlet和class文件。
  • 传递参数不同,动态包含能够传递参数,而静态包含不能。

说明JSP技术中的编译指令和动作指令的区别

  • 编译指令是通知Servlet引擎的处理消息。动作指令是执行时的脚本动作。
  • 编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本,是JSP脚本标准化写法。

<jsp:include><jsp:forward> 的区别。

前者可以一个静态的页面;后者是跳转,发送一次请求,可以为当前跳转设置参数,下一页面可接收到设置的参数。

posted @ 2023-02-17 23:37  hh2048  阅读(18)  评论(0编辑  收藏  举报