2023年11月28日发(作者:)
1、简述JSP页面的运行原理(JSP页面的请求执行过程)。
(1) 当客户第一次请求JSP页面时,JSP引擎会通过预处理把JSP文件中的静
态数据(HTML文本)和动态数据(Java脚本)全部转换为Java代码。
(2) JSP引擎把生成的.java文件编译成Servlet类文件(.class)。
(3) 编译后的class对象被加载到容器中,并根据用户的请求生成HTML格式
的响应页面。
2、如果表单提交的信息中有汉字,接受该信息的页面应做怎样的处理?
解决中文乱码
在获取表单信息之前使用
setCharacterEncoding(String code)设置统一字符编码
racterEncoding(“UTF-8”);
对获取的信息进行重新编码
new String(ameter(“Name”).getBytes(“ISO-8859-1”),”UTF-8”);
3、请简单叙述<%@include%>、
<%@include%>:页面请求之前预编译,所有代码包含进来之后,一起进行处
理,把所有代码合在一起,编译成一个servlet。
多个servlet,页面语法相对独立,处理完成之后再将代码的处理结果组合起
来。
PPT上答案为:
Include指令标记是先将JSP页面与所要嵌入的页面合并成一个新的JSP页面,
然后再由JSP引擎将新页面转化为java文件处理并运行。
Include动作标记在把JSP页面转译成java文件时,并不合并两个页面;而是
在java文件的字节码文件被家在执行时,才去处理include动作标记引入的
文件。
4、分析下面连接数据库的程序代码,将正确的表达式或语句填入空白
import .*;
public class DbUtil{
public static void main(String args[]){
Class.forName("verDriver");
String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db";
Connectioncon = nection(uri,"sa","123");
Statementst= con.createStatement();
ResultSetrs = st.executeQuery("select * from member");
}
}
请将上面的空填好,填完整这个程序后,这个程序有问题吗?应该怎样改正?
5、假设创建servlet的类是,创建的servlet对象的名字是
myservlet,应该怎样配置?
6、JSP有哪些内置对象,作用分别是什么?(至少列举4种)
out 页面输出
request 得到用户的请求信息
response 服务器向客户端的回应信息
session 用来保存每一个用户的信息
application 用来表示所有用户的共享信息
pageContext JSP的页面容器
config 服务器配置,可以取得初始化参数
page 表示从该页面中表示出来的一个servlet实例
exception 表示JSP页面所发生的异常,在错误页面才起作用
7、简述JSP中MVC模式的具体实现。
MVC是Model、View、Controller的缩写
模型:一个或多个JavaBean对象,用于存储数据(实体模型,由Java类创
建)和处理业务逻辑(由一般的Java类创建)。
视图:一个或多个JSP页面,向控制器提交数据和为模型提供数据显示。JSP
页面主要使用HTML标记和JavaBean标记来显示数据。
控制器:一个或多个Servlet对象,根据视图提交的请求进行控制,即把请求
转发给业务逻辑的JavaBean,并将处理结果放到实体模型JavaBean中,输出
给视图显示。
8、JavaBean是什么?有哪些分类以及作用?请描述。
JavaBean组件就是利用Java语言编写的组件。它好比一个封装好的容器,使
用者并不知道其内部是如何构造的,但它却具有适应用户要求的功能。每个
JavaBean都实现了一个特定的功能,通过合理地组织不同功能的JavaBean,
可以快速生成一个全新的应用程序。
JavaBean可分为可视化JavaBean和不可视化JavaBean两类:
(1) 可视化JavaBean:就是具有GUI图形用户界面的JavaBean。
(2) 不可视化JavaBean:就是没有GUI图形用户界面的JavaBean,最终对用
户是不可见的。它更多地是被应用到JSP中。
9、Tag文件中的attribute指令和variable指令各有什么作用,请描述其使用方法。
使用attribute指令可以动态地向该Tag文件传递对象的引用。
<$@ attribute name=”对象名字” request=”true”|”false” type=”对象的类型”%>
使用variable指令可以将Tag文件中的对象返回给调用该Tag文件的JSP页面。
<%@ variable name-given=”对象名字”variable-class=”对象的类型”scope=”有
效范围”%>
10、简述Servlet的生命周期与运行原理。
Servlet生命周期:Servlet加载实例化服务销毁
(1) 初始化servlet对象
当servlet对象第一次被请求加载时,服务器会创建一个servlet对象,该
对象调用init方法完成必要的初始化工作
(2) Service方法响应请求
创建的servlet对象再调用service方法响应客户的请求
(3) Servlet对象死亡
当服务器关闭时,servlet对象调用destroy方法使自己消亡
Servlet运行原理:
当客户端浏览器向服务器请求一个Servlet时,服务器收到请求后,首先到容
器中检索与请求匹配的Servlet实例是否已经存在。
--若不存在,则Servlet容器负责加载并实例化出该类Servlet的一个实例对象,
接着容器框架负责调用该实例的init()方法对实例做一些初始化工作,然后Servlet
容器运行该实例的service()方法。
--若Servlet实例已经存在,则容器框架直接调用该实例的service()方法。
Service()方法在运行时,自动派遣运行与用户请求相对应的doXX()方法来响
应用户发起的请求。
通常,每个Servlet类在容器中只存在一个实例,每当请求到来时,则分配一
条线程来处理该请求。
11、简述forward动作标记和direct()两种跳转方式的区别。
forward为服务器端跳转,浏览器地址不变
sendRedirect为客户端跳转,浏览器地址栏改变为新页面的URL
12、分别应用include指令和include动作标记在一个jsp页面中包含一个文件(如
)。
include指令:
<%@ include file=””%>
include动作标记:
13、如果用户长时间不操作session对象,用户的session对象会消失吗?用户关
闭浏览器后,用户的session对象会消失吗?如何延长session的过期时间?
(1) 会消失。在一定时间内(系统默认在30min内),如果客户端不向服务器
发出应答请求,session对象就会自动消失。
(2) 会消失。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览
器离开这个服务器结束,被称为一个会话。可以利用此特性来保存每个
用户信息。当一个客户登录一个网站时,系统将为用户生成一个独一无
二的会话对象,用以记录该用户的个人信息,一旦该用户退出网站,该
会话对象将会被注销。
(3) 进行会话超时设置。利用setMaxInactiveInterval(int interval)方法以秒为单
位设置超时时间。
14、请写出在设置JavaBean属性和获取JavaBean属性时所使用的动作标记以及
使用方法,并对参数做简单描述。
设置JavaBean属性的动作
获取JavaBean属性的动作 name属性用来指定一个存在JSP中某个范围中的JavaBean实例 property储存用户在JSP输入的所有值,用于匹配Bean中的属性 15、执行SQL语句时创建的Statement对象主要有那两种,其区别是什么? 方法executeQuery用于产生单个结果集的语句,例如select语句。 方法executeUpdate用于执行insert、update或delete语句以及SQL DDL(数 据定义语言)语句。 16、什么是AJAX?请写出一种利用jQuery发送AJAX请求的例子(get、post列 举一个即可)。 Ajax是Asynchronous JavaScript and XML的缩写,意思是异步的JavaScript与 XML。Ajax并不是一种新的语言或技术,它是JavaScript、XML、CSS、DOM 等多种已有技术的组合,它可以实现客户端的异步请求操作。这样可以实现 在不需要刷新页面的情况下与服务器通信,从而减少了用户的等待时间。 17、JSP中常用的动作标记有哪些?请列举至少两个,并简单描述其作用。 include动作标记:允许包含动态和静态文件。如果包含的是静态文件,那么 只将静态文件的内容加到JSP网页中;如果包含进来的为动态文件,那么这 个被包含的文件也会被JSP容器编译执行。 forward动作标记:将客户端所发出来的请求,从一个JSP网页转交给另一个 JSP网页。 param动作标记:以“键-值”对的形式为对应页面传值。(该标记不能单独 使用,必须作为include、forward动作标记的子标记来使用) 18. 简述JavaBean的4个作用域,并分别说明其作用范围。 page:仅在当前页面有效 request:请求范围 session:会话范围 application:全局范围 19.列举request对象提供的获取客户端信息的方法,以及设置信息的方法。 getMethod():获取客户端向服务器传送数据的方法 getParameter(String name):获取客户端传送给服务器端的有name指定的参 数值 getParameterNames():获取客户端传送给服务器端的所有参数的名字 getRequestURL():获取发出请求字符串的客户端地址 getRemoteAddr():获取客户端的IP地址 getRemoteHost():获取客户端的名字实例 getProtocol():获取客户端向服务器端传送数据所依据的协议名称 getServletPath():获取客户端所请求的脚本文件的路径 设置信息的方法: setAttrubute(String name,Object object) 20. 简述Servlet的生命周期。 Servlet生命周期:Servlet加载实例化服务销毁 (4) 初始化servlet对象 当servlet对象第一次被请求加载时,服务器会创建一个servlet对象,该 对象调用init方法完成必要的初始化工作 (5) Service方法响应请求 创建的servlet对象再调用service方法响应客户的请求 (6) Servlet对象死亡 当服务器关闭时,servlet对象调用destroy方法使自己消亡


发布评论