javaEE4(预习第3章,做课后习题1:简答)

1 、简答

(1)Jsp页面翻译成的Servlet类的源文件在哪里可以找到?servlet实例是每次请求页面都会创建一个,还是只有一个(单例)?

tomcat工作目录下的work目录下

只有一个

  1. 页面中定义变量加和不加叹号有什么区别,结合页面翻译的源文件说清楚。

加:成员全局变量,可以不用初始化,若初始化,只初始化一次

不加:局部方法变量,必须初始化

加:

不加:

  1. 在不同<% %>里定义的变量能否互相访问?

不能相互访问,因为<% %>定义的是局部变量

  1. 在页面中输出java变量a的值有哪两种方法,怎样写?

<%=a %>

<%out.print(a); %>

  1. Jsp指令、动作标签分别有哪些?

page、include、taglib

<jsp:include>、<jsp:forward>、<jsp:plugin>、<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>、<jsp:param>

  1. <%@include>指令和<jsp:include>动作标签都是包含,有什么区别?

前者为静态包含,源文件合并成一个再编译,效率较高。

后者为动态包含,两个页面分别编译,可以传递参数。

(7)获取表单文本框输入的值用哪个内置对象的什么方法,post提交方式下输入是汉字的话会出现乱码,怎样解决?

对于相同name的多个表单元素的值(如复选框)如何获取,用什么方法?

Request的getParameter方式

使用Request的setCharacterEncoding("UTF-8")

Request.Params.GetValues( string name)

(8)页面间传递参数有几种方法?

表单方式

Url方式

Cookie方式

jsp的forward或include动作

(9)理解request,session,appliaction对象的生命周期,利用这几个对象进行数据共享的一对方法是什么?

传参和共享都可以用来在页面间传递数据,有什么区别?

生命周期:

Request:在页面向服务器发送请求时产生,在web处理完请求后销毁,为一个生命周期

Session:从用户打开浏览器到用户关闭浏览器,这一过程成为一次会话,即Session的生命周期

Appliaction:服务器启动到服务器关闭为一个生命周期

进行数据共享的一对方法:post和get

区别:传参:传递字符串

共享:传递类对象

  1. 页面间跳转可以通过链接、重定向、转发,重定向用什么语句?转发用什么标签或语句?重定向和转发有什么区别?

链接:<a href=" ">跳转</a> //手动跳转

重定向:response.sendRedirect("");//自动跳转

转发:<jsp:forward page=""/> //自动跳转

<jsp:forward>

区别:1)只能使用<jsp:forward>在本网站内跳转,而使用response.sendRedirect跳转到任何一个地址的页面

(2)<jsp:forward>带着request中的信息跳转;sendRedirect不带request信息跳转。

(11)EL的语法形式?引入它的主要作用?它访问的是Java脚本数据还是属性数据?

${expression}

在页面上显示表达式expression的值。

属性数据

(12)使用JSTL的步骤?分支标签和循环标签的语法形式?

(1)将JSTL的Jar包(jstl-1.2.jar)加入到工程中(复制到WEB-INF/lib下)。

(2)在JSTL页面中添加Taglib指令:<%@ taglib prefix="" uri="" %>,prefix和uri属性的取值参照上表。

如:在页面中要使用核心库中的标签,则taglib指令写为:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

  1. 在页面中使用标签,如:<c:out value="{1+2}"/\> 其功能是:输出EL表达式{1+2}的值。JSTL通常和EL表达式结合使用,EL作为JSTL标签的属性值。

单分支标签:<c:if>

多分支标签:<c:choose>

循环标签:<c:forEach>

(13)在两个数求和练习"(4)输入1.jsp,处理2.jsp,处理完转回1.jsp显示结果"中,

输入第一个整数:<input type="text" name="n1" value="${param.n1}"><br>

输入第二个整数:<input type="text" name="n2" value="${param.n2}"><br>

value="{param.n1}"和value="{param.n2}"的作用是什么?

获得n1、n2的值

相关推荐
Onebound_Ed4 分钟前
Python爬虫进阶:面向对象设计构建高可维护的1688商品数据采集系统
开发语言·爬虫·python
旷野说9 分钟前
为什么 MyBatis 原生二级缓存“难以修复”?
java·java-ee·mybatis
8***235512 分钟前
【wiki知识库】07.用户管理后端SpringBoot部分
java
foxsen_xia14 分钟前
Go安装、配置和vsCode配置Go
开发语言·vscode·golang
雍凉明月夜14 分钟前
c++ 精学笔记记录Ⅰ
开发语言·c++·笔记
小鹏编程21 分钟前
C++ 周期问题 - 计算n天后星期几
开发语言·c++
繁华似锦respect21 分钟前
C++ unordered_map 底层实现与详细使用指南
linux·开发语言·c++·网络协议·设计模式·哈希算法·散列表
太阳以西阿25 分钟前
【计算机图形学】01 OpenGL+Qt
开发语言·qt
阿蔹28 分钟前
JavaWeb-Selenium 配置以及Selenim classnotfound问题解决
java·软件测试·python·selenium·测试工具·自动化
稚辉君.MCA_P8_Java29 分钟前
Gemini永久会员 C++返回最长有效子串长度
开发语言·数据结构·c++·后端·算法