JSP简答题

JSP简答题

1、Javabean的好处

  • 降低jsp的复杂程度
  • 提高代码的复用

2、解释什么是Javabean

  • Javabean是在java开发语言中可以重复使用的软件组件,Javabean并非在jsp中才有

3、和response.sendRedirect区别

​ 一个是重定向一个是转发,forward动作从该指令处停止当前页面的继续执行,而转向另一个网页,但网址不变

JSP简答题_第1张图片
转发地址栏不会变化,重定向地址栏会发生变化

4、jsp页面构成的五种元素

  1. html标签
  2. jsp标签
  3. 成员变量和方法声明
  4. java程序片
  5. java表达式

5、PreparedStatement和Statement的区别

  1. PreparedStatement是预编译的,对批处理可以大大的提高效率,也叫JDBC存储过程
  2. 使用statement对象,对数据库进行一次的处理,会比preparedstatement开销小
  3. statement每次执行SQL语句数据库都会对SQL语句进行编译,而preparedstatement是预编译的,支持批处理

简而言之:预处理语句PreparedStatement会将传入的SQL语句封装在PreparedStatement对象中,事先进行预处理编译等待使用,当有单一的SQL语句需要执行多次的恶化PreparedStatement的效率会比Statement的效率更高

6、SQL增删改查语句

select * from login,user where login.id= user.id //查询
INSERT INTO author(AuthorID,AuthorName,AuthorLoginName,AuthorPassword,RoleID) VALUES(1,'add','add','123',1) //增加
UPDATE author SET AuthorPassword="55556" WHERE AuthorID=1//修改
DELETE FROM author WHERE AuthorID=2//删除

7、MVC的好处

将模型、视图、控制器分离开,降低耦合,当某一层的需要发生变化,只要改小部分的代码即可有利于组件的重用

8、的区别

两种的意义是一样的,假如是使用class的话,那么先判断在指定的作用域中能不能拿到对应的Javabean,如果拿不到的话那么就new一个对象,用type的话如果找不到相应的bean那么就会报错,并且如果是用class或beanName的话必须将需要的包导入,而type可以不用

9、简述servlet生命周期

  1. 客户端向服务器发送请求
  2. servlet容器校验该请求所对应的servlet是否已经载入容器
  3. 如果还未载入的话那么就将对应的servlet载入容器,并且执行servlet的init()方法
  4. web服务器将用户请求的信息传入servlet
  5. servlet执行service方法,根据需要调用doPost或者是doGet的方法
  6. servlet将执行结果返回给客户端
  7. 如果多个用户同时访问servlet,则是启动不同的线程响应不同的请求
  8. 发生服务器关闭等终止事件时候调用destroy的方法

10、什么是session

session是客户端和服务器之间的一次会话,通过会话机制服务器端可以识别每一个客户端,然后针对用户的请求给出不同的响应

11、jsp常用的内置对象及其作用

application对象代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息。

Config对象允许将初始化数据传递给一个JSP页面

Exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据。

Out对象代表提供输出流的访问

Page对象代表JSP页面对应的Servlet类实例

PageContext对象是Jsp页面本身的上下文,它提供唯一一组方法来管理具有不同作用域的属性

Request对象提供对Http请求数据的访问,同时还提供用于加入特定请求数据的上下文

Response对象允许直接访问HttpServletResponse对象

Session对象可能是状态管理上下文中使用最多的对话

12、jsp和servlet的关系

① JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

② Servlet是使用Java Servlet接口(API)运行在Web应用服务器上Java程序,其功能十分强大,它不但可以处理Http请求中的业务逻辑,而且还可以输出HTML代码来显示指定页面。它是JSP的早期版本。

③ JSP是一种在Servlet规范之上的动态网页技术,在JSP页面之中,同样可以编写业务逻辑处理Http请求,也可以通过HTML代码来编辑页面。

④ 在实现功能上,Servlet与JSP貌似相同,实质存在一定的区别,表现在以下方面:

​ 1.角色不同;

​ 2.编程方法不同;

​ 3.Servlet需要编译后运行;

​ 4.速度不同。

13、include动作和指令的区别

include指令是静态包含,它是将被包含的文件包含在文件中,一起编译的

include动作是动态包含,他是将被包含的文件的执行结果

14、jsp运行原理

1、客户端通过浏览器向服务器发出请求,在该请求中包含了请求的资源的路径,这样当服务器接收到该请求后就可以知道被请求的内容。
2、服务器根据接收到的客户端的请求来加载相应的JSP文件。
3、Web服务器中的JSP引擎会将被加载的JSP文件转化为Servlet。
4、JSP引擎将生成的Servlet代码编译成Class文件。
5、服务器执行这个Class文件。
6、最后服务器将执行结果发送给浏览器进行显示。

15、<%! %>和<% %>的区别

<%! %>用于声明成员变量和方法,成员变量直到服务器关闭一直有效

<% %>用于声明局部变量和同时其不能声明方法仅在jsp后续的程序片中有效

你可能感兴趣的:(JSP简答题)