jsp简介 jsp技术简介
- JSP的全称是Java Server Pages,指的是Java的服务器页面。
- JSP的主要作用是代替Servlet程序回传HTML页面的数据,实现页的生成。
- 在web目录(或其他相关目录)中,可以通过右键选择新建JSP/JSPX文件来创建新的JSP页面,并输入文件名。
JSP页面本质上是一种Servlet程序。当Tomcat服务器首次访问JSP页面时,会将其翻译成一个Java源文件,并进行编译。编译后的.class文件与Java源文件在结构上相似。HttpJspBase类直接继承于HttpServlet类,这证明了JSP页面实际上是一个Servlet程序。
这些属性各有其特定的用途,如contentType用于表示JSP返回的数据类型,language用于指定翻译后的Java语言文件类型,pageEncoding用于指定JSP文件本身的字符集等。其中,out缓冲区用于暂存要输出的内容,当缓冲区满后,可以通过autoFlush属性设置是否自动刷新缓冲区。
在JSP页面中,可以使用脚本元素(scripting elements)来插入Java代码。这些代码可以在服务器端运行,并在页面上生成动态内容。具体来说,表达式脚本用于在浏览器的JSP页面上输出数据,而代码脚本则允许在JSP页面中编写完整的Java代码。
JSP还提供了四个域对象,分别是pageContext、request、session和application。这些域对象提供了类似Map的存取数据功能,但它们的存取范围各不相同。例如,pageContext对象的作用范围仅限于当前的JSP页面,而session对象则可以在用户的多次访问中保持数据。
(2)out.write()方法:用于输出字符串,但若输出int型数据,会将其转换为对应的ASCII码字符进行输出,而非数字本身。
结论:在JSP页面脚本中,为了确保在浏览器中正确输出内容,应优先使用out.print()方法。
(1)使用场景说明:
(2)使用方法详解:</使用``标签来引入其他JSP页面。
其中,file属性指定要包含的JSP页面路径,路径以“/”开头,代表完整的工程路径,对应web服务器的目录结构。
代码示例1:在web目录下创建body.jsp文件。
<body>
头部信息 <br>
主体信息 <br>
<%@include file="/foot.jsp"%>
</body>
代码示例2:在web目录下创建foot.jsp文件。
<body>
页脚信息 <br>
</body>
运行结果说明:
(3)静态包含的特点:
- 不会将被包含的JSP页面编译成.java.class文件。
- 是将被包含页面的代码拷贝到包含页面对应的Java文件中执行输出。
(1)使用方法说明:
<jsp:include page=""/>用于动态包含其他JSP页面。
其中,page属性指定要包含的JSP页面,与静态包含的用法一致。
(2)动态包含的特点:
- 动态包含会将被包含的JSP页面编译成.java.class文件。
- 支持传递参数。
- 底层通过调用org.apache.jasper.runtime.JspRuntimeLibrary的include方法来执行被包含页面的输出。
<body>
头部信息 <br>
<jsp:include page="/foot.jsp" >
<jsp:param name="username" value="Jaychou"/>
<jsp:param name="password" value="root"/>
</jsp:include>
</body>
注意事项:
- 设置参数的标签需放在动态包含标签内。
- "Expecting "jsp:param" standard action with "name" and "value" attributes"的异常原因:一是动态包含中未设置参数且标签未写在一行上;二是动态包含中加了注释。