jsp必须知道的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
  1. 简述Dao模式优点
    DataAccessObject,是与数据库交互,在业务逻辑和数据库之间的一种技术。
    避免业务逻辑中出现jdbc,更清晰。
    数据访问和操作分离,简化代码,增强可移植性

  2. 单元测试步骤
    导入单元测试包 编写单元测试类 编写单元测试方法

  3. Response重定向和forward请求转发的区别
    重定向仅仅是把请求发送给新页面,而不是将地址定向到不同地址上
    请求转发只能在本网站内跳转,跳转后在地址栏中仍显示以前页面的URL

  4. MVC模式?特点?
    软件工程的一种软件架构模式,可将程序分为模型、视图和控制器。
    低耦合 高可重用性和可适应性 低成本 快速部署 高可维护性 有利于工程化管理

Guess you like

Origin blog.csdn.net/qq_46144237/article/details/118437374