JSP开发常见问题

1、JSP页面可以包含哪些元素?

  • HTML标签:<html></html>等等
  • JSP标记:包括指令标记、动作标记
  • 程序片段:<%  %>
  • JAVA表达式:<%= %>
  • JSP注释: <%--   --%>
  • Html注释: <!--   -->

2、JSP页面各种元素的语法

 表格;

序号语法对应元素
1<html></html> 
2<%@     %>JSP指令标记
3<%!       %>属性和方法声明
4<%       %>程序片段
5<%=    %>JAVA表达式
6<%--   --%>JSP注释
7<!--    -->Html注释

 

3、JSP页面执行过程?

 

JSP页面执行时,经历3个阶段:翻译、编译、执行;

(1)翻译阶段:当浏览器首次访问一个JSP页面时候,Tomcat首先将该页面翻译为.java源文件,并保存在tomcat的work相应的目录下;该java文件其实为一个servlet;

(2)编译阶段:tomcat将该servlet编译为一个class文件;

(3)执行阶段:执行该servlet class文件,并将结果返回给浏览器;

 

  当浏览器第二次再访问同一个JSP页面时候,tomcat首先判断JSP页面是否发生了改变(通过jsp文件的日期判断),若没有改变,则直接跳转到第三个阶段,直接执行class文件,这样大大提高了JSP执行的速度;

 

  当有多个浏览器同时访问同一个JSP页面时,tomcat为每个请求分配一个线程处理该请求,这些线程之间共享同一个servlet对象中的属性和方法,但是独享servlet对象的service方法。

4、JSP页面中程序片对应servlet的什么?
    程序片(<%    %>)翻译成servlet后,对应于service方法中代码片段,该片段将来以多线程独享方式运行;

5、JSP页面中的属性和方法的声明对应servlet的什么?

 

    属性或方法的声明(<%!   %>)对应于servlet中的属性和方法,当多个请求同时访问时,以多线程共享方式运行;  

 

6、JSP页面中的page指令标记常见的属性及作用?

 

     page指令(<%@ page contentType="" %>)用于设置JSP页面的属性,常用的属性有:contentType, pageEncoding, import;

    (1)contentType 属性   

 <%@ page contentType="text/html; charset=GB2312"  %>
       该属性主要用于当Tomcat将响应返回给浏览器时,告诉浏览器返回的内容是什么(text/html),以及浏览器该以什么字符集对内容进行解码(decode)

 

    (2)pageEncoding属性  

<%@ page pageEncoding="UTF-8" %>
     该属性用于2个地方:
  • 指定JSP页面的编码方式,也就是当编辑器(Eclipse等)将JSP文件保存到磁盘时以该方式进行编码。
  • 当Tomcat将JSP翻译成.Java源文件时,j将按照该属性的值对JSP页面中文本进行解码,因为JSP就是以按pageEncoding进行编码的;

    (3)import属性 

<%@ page import="java.util.*,java.io.*" %>  <%-- 多个包用逗号分隔  --%>

     导入JSP页面需要的package;

 

7、<%@ include file="file url" %>与<jsp:include page="" %>的区别是什么?

 

     (1)语法不同:            

              <%@ include file=" " %>是JSP指令标记;而<jsp:include page="" %>是JSP 动作标记;

 

     (2)运行原理不同:

             <%@ include file="" %>是静态加载的,也就是当将JSP翻译成Servlet源文件时候,tomcat从磁盘读取文件,然后替换掉该指令,做了一个字符串替换;与C、C++中的#include <stdio.h>作用一样;

            <jsp:include page="" %>是动态加载的,也就是执行JSP页面时候,当遇到JSP:include动作,Tomcat会将该page指定的JSP运行的结果插入到当前页面中;

 

     (3)使用的场景不同:

              <%@ include file="" %>一般用于将一个复杂的页面分割成多个较小的文件,并且每个小文件都可以重复使用,比如一个完整的JSP页面通常包含top.jsp(菜单、banner等等)+body.jsp(主显示区)+bottom.jsp(版权信息等等)

             <jsp:include page="" %>一般用于项目中多个页面中出现了重复功能,为了提高这些代码的重用,可以用该指令;

 

8、<jsp:include page %>动作标记的优点?

 

     代码模块化;实现功能的重用;

 

9、<jsp:include page %>与<jsp:forward  %>的区别

   

   forward:是将控制权交给forward的页面,该动作后面的JSP代码不再执行,用于实现请求的转发;

    include:动态加载运行结果,类似函数执行;

 

10、什么是session?

 

11、常见的html标签

       head title body p form input div

 

12、form标签中的属性的意义

 

  •  action属性:用于指定处理该form表单的对象,可以是一个JSP、Servlet等等;如果action="",表示由当前JSP页面来处理form表单;
  • method属性:指定浏览器向服务器提交表单时使用的方法,可以是get或post方法;通常使用post方法
  • name属性:指定form表单的名字
  • id属性:指定form表单的编号,要求id在JSP是唯一的;

13、常见form包含的元素及语法

       text、checkbox radio select submit

 

14、如何给<jsp:include > <jsp:forward >传递参数?

       <jsp:param >

 

15、浏览器的主要功能是什么?

 

  •   向DNS服务器发出域名解析请求;
  •  根据域名解析后的IP地址,与服务器建立TCP连接;
  •  使用HTTP协议向服务器发生请求;
  •  接收服务器的响应,并解析和渲染响应;

 

16、HTTP协议常见的状态码的意义是什么?

  • 200
  • 404
  • 500

17、HTTP协议的get、post方法的区别是什么?

  

18、Tomcat的主要作用?

  • 接收请求

 

19、JSP中的指令(directives)都有哪些?

 

  • page
  • include
  • taglib所有的指令的执行都发生在翻译阶段,也就是将JSP页面翻译为Servlet源代码的时候

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值