jsp必须知道的25个简单知识点
- 1、简述jsp程序的运行原理及过程。
- 2、Jsp语法中主要包含三种指令标识,他们的作用和语法格式分别是什么?
- 3、有几种方法可以实现页面包含外部文件,请描述其实现方法及代码。
- 4、请写出常用的5个jsp内置对象,并说明他们的作用?
- 5、标准javabean需要遵循那些规范?
- 6、三层架构及其特点。
- 7、简述B/S,C/S模式。
- 8、Jsp常用动作标志
- 9、Jsp中的常见注释
- 10、Jsp脚本标识包含哪些元素,语法格式是什么?
- 11、比较include指令和include动作在包含外部文件时的异同点。
- 12、简单描述使用Cookie的基本步骤。
- 13、Cookie和session的异同点。
- 14、Get和post方式请求的比较。
- 15、 简述EL隐藏对象中作用域访问对象及其特点
- 16、 简述EL隐藏对象中参数访问对象及其特点
- 17、 在jstl中如何实现选择判断?列出相关标签
- 18、 在jstl中如何实现集合遍历?详解相关标签
- 19、 常用的格式化标签有哪些?列举简述
- 20、 创建servlet的步骤?代码辅助描述
- 21、 在servlet中如何使用常用内置对象?代码辅助描述
- 22、 Servlet中如何处理异常
- 23、 Servlet中如何配置初始化参数?
- 24、 创建过滤器的步骤?
- 25、 简述过滤器链的作用及其特点
1、简述jsp程序的运行原理及过程。
原理:当第一次访问jsp页面时,向servlet发出请求,先将jsp转化为servlet源代码.java,经过编译为.class进行调用,再次访问时直接调用。
过程:客户端发出请求,jsp服务器将jsp转化为servlet源代码(.java),jsp服务器对servlet代码进行编译(.class)后执行,将执行结果相应给客户端。
2、Jsp语法中主要包含三种指令标识,他们的作用和语法格式分别是什么?
Page指令
用于设置页面的各种属性,如导入包、指明输出内容类型、控制session等,
<%@ page attribute1=”value1”%>
Include指令
用于在当前jsp文件包含其他文件,被包含的文件可以使jsp、html、或者文本,包含的过程发生在将jsp翻译成servlet,当前jsp和被包含的jsp融合形成一个servlet,然后编译运行。
<%@ include file=”文件的相对路径”%>
Taglib指令
用于指定jsp页面所使用的标签库。
<%@ taglib uri=”标签库uri” prefix=”标签前缀”%>
3、有几种方法可以实现页面包含外部文件,请描述其实现方法及代码。
2种,
<jsp:include page=”path” flush=”true”>
包含一个静态或者动态的文件
Include指令
用于在当前jsp文件包含其他文件,被包含的文件可以使jsp、html、或者文本,包含的过程发生在将jsp翻译成servlet,当前jsp和被包含的jsp融合形成一个servlet,然后编译运行。
<%@ include file=”文件的相对路径”%>
4、请写出常用的5个jsp内置对象,并说明他们的作用?
Out
向客户端输出信息
Request
接受请求参数
Response
对客户端的请求做出响应
Session
在客户端和服务器端的通信交互中,充当数据搬运工
Application
用于保存所有应用程序中的共有数据,服务器启动自动创建。
5、标准javabean需要遵循那些规范?
公共的类、构造函数没有输入参数、属性必须为private、方法为public、用set,get设置和获取属性、没有主方法、不继承object类、实行java.io.Serializable接口
6、三层架构及其特点。
表示层(数据显示和后台交互)
业务逻辑层(对数据层的数据进行业务逻辑处理)
数据层。(对数据库等非原始数据进行操作)
特点:将解决问题的组件分隔到不同的层中,同层之间保持高内聚、层与层之间低耦合,易于代码的维护。
7、简述B/S,C/S模式。
C/S即Client/Server,它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client和Server端来实现,降低了系统的通讯开销。
B/S即 浏览器和服务器结构,用户工作界面是通过www浏览器来实现,极少部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,大大简化了客户端电脑的载荷,减轻了系统维护和升级的成本和工作量,降低了用户的总体成本。
8、Jsp常用动作标志
<jsp:include page=”path” flush=”true”>
包含一个静态或者动态的文件
<jsp:forward page=”path”>
把请求转发到另一个页面
装载一个将在jsp页面使用的javabean
设置指定javabean中的属性值
获取指定bean属性的值
9、Jsp中的常见注释
Html注释
客户端浏览看不见,源代码可以看见
Jsp注释标记
<%-- --%> 客户端源代码看不见,安全性高。
脚本注释
//单行注释 /*多行注释 */
10、Jsp脚本标识包含哪些元素,语法格式是什么?
Jsp注释
Jsp指令
Jsp动作
脚本、表达式元素
<% 脚本 %> <%=表达式%>
声明标识
<%! %>
11、比较include指令和include动作在包含外部文件时的异同点。
差异:include指令直接包含源代码,include动作包含html,include指令不可以使用jsp表达式,include动作可以传递参数,include指令执行速度快。
相同:功能一样都可以将外部文件包含进当前文件。
12、简单描述使用Cookie的基本步骤。
Cookie创建
Cookie COO= new cookie(“”,””)
Cookie使用
Response.addCookie(coo)
Cookie获取
Cookie cookies[] = request.getCookies();
Cookie输出
Foreach循环 getName(),getValue()
13、Cookie和session的异同点。
都是为了保存用户相关的信息
Cookie是存储在本地浏览器,安全性不太好容易泄露。而session时存储在服务器,存储在服务器更加安全,但会占用资源。
14、Get和post方式请求的比较。
Get是从服务器上获取数据,post是向服务器传送数据。
Get是把参数队列放在URL以?&&分隔边,在URL中可以看到,
post将表单中的各个字段及其内容放在HTTPheader中传送的。
Get传送的数据量较小,不能大于2KB,post默认不受显示。
Get安全性低,传输的数据会显示在请求的URL中,post安全性高。
15、 简述EL隐藏对象中作用域访问对象及其特点
pageScope.......pageScope页面范围的变量名称映射到其值
16、 简述EL隐藏对象中参数访问对象及其特点
param paramvalues
请求参数名称映射到单个字符串
17、 在jstl中如何实现选择判断?列出相关标签
1.if: <c:if> 用于实现 java 中的 if 语句功能。
2.<c:choose> 和 <c:when> 、 <c:otherwise> 一起实现互斥条件执行,类似于 java 中的 if else.
18、 在jstl中如何实现集合遍历?详解相关标签
<c:forEach var="每个变量名字" items="要迭代的list" varStatus="每个对象的状态" begin="循环从哪儿开始" end="循环到哪儿结束" step="循环的步长">
循环要输出的东西
</c:forEach>
19、 常用的格式化标签有哪些?列举简述
<fmt:requestEncoding> 设置请求所采用的编码方式
<fmt:formatDate>
20、 创建servlet的步骤?代码辅助描述
创建一个类继承HTTPServlet抽象类
重写方法
在web.xml中配置servlet
21、 在servlet中如何使用常用内置对象?代码辅助描述
out
PrintWritter out=response.getWritter();
out.print()
request response
session
application
ServletContext application=this.getServletContext()
22、 Servlet中如何处理异常
try catch finally
throws
web.xml的<error-page>
23、 Servlet中如何配置初始化参数?
配置:<servlet>
<servlet-name>print</servlet-name>
<servlet-class>com.wyy.servlet.print</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>print</servlet-name>
<url-pattern>/print</url-pattern>
</servlet-mapping>
描述信息:
<servlet>
<description>My first Servlet</description>
<display-name>helloworld</display-name>
<servlet-name>Helloworld</servlet-name>
<servlet-class>com.wyy.servlet.print</servlet-class>
</servlet>
初始化:
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>com.wyy.servlet.print</servlet-class>
<init-param>
<param-name>initParam</param-name>
<param-value>Hello Servlet</param-value>
</init-param>
</servlet>
上下文:
<context-param>
<param-name>contextParam</param-name>
<param-value>Hello Servlet</param-value>
</context-param>
24、 创建过滤器的步骤?
创建一个类继承HTTPServlet抽象类
重写方法
在web.xml中配置servlet
25、 简述过滤器链的作用及其特点
请求时,经过filter1的过滤,调用filter1的doFilter方法中的Filterchain.doFilter()
方法将请求传给filter2,经过filter2的过滤调用filter2的doFilter方法中的
Filterchain.doFilter(),将请求传给目标资源。返回响应时按照filter2,filter1
-
简述Dao模式优点
DataAccessObject,是与数据库交互,在业务逻辑和数据库之间的一种技术。
避免业务逻辑中出现jdbc,更清晰。
数据访问和操作分离,简化代码,增强可移植性 -
单元测试步骤
导入单元测试包 编写单元测试类 编写单元测试方法 -
Response重定向和forward请求转发的区别
重定向仅仅是把请求发送给新页面,而不是将地址定向到不同地址上
请求转发只能在本网站内跳转,跳转后在地址栏中仍显示以前页面的URL -
MVC模式?特点?
软件工程的一种软件架构模式,可将程序分为模型、视图和控制器。
低耦合 高可重用性和可适应性 低成本 快速部署 高可维护性 有利于工程化管理