码迷,mamicode.com
首页 > Web开发 > 详细

JSP学习笔记(一):JSP基础

时间:2015-02-17 10:25:38      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

一、原理
1、HttpServlet 是先由源代码编译为class 文件,然后部署到服务器下。先编译后部署。
2、JSP 是先部署源代码后编译为class文件的,先部署后编译。JSP 会在客户端第一次请求JSP 文件时被编译为HttpJspPage 类。该类会被服务器临时存放在服务器的工作目录中。

3、实例:客户端第一次请求 myFirst.jsp 时,Tomcat 先将myFirst.jsp 转化为标准的 Java 源代码 myFirst_jsp.java ,存放在 %Tomcat_Path%\work\Cataline\localhost\ %Java_Web% 目录下,并将 myFirst_jsp.java 编译为类文件 myFirst_jsp.class 。该 class 文件便是对应的 Servlet 。编译完毕后再运行class 文件来响应客户端请求。以后客户端访问 myFirst.jsp 时,服务器将不再重新编译 JSP 文件,而是兆字节调用 myFirst_jsp.class 文件。


二、语法
(一)脚本
1、<% %>:java代码块
2、<%=%>:输出
3、<%! %>:方法与全局变量

(二)指令(可以被JSP行为标签替代<jsp:directive>
1、Page指令:指定该JSP页面的属性。
1)实例:
       
         <%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %>
                <%@ page import="java.util.Date"%>

2)常见属性:
技术分享

技术分享

2、include指令
1)实例:include.jsp 中包含 head.jsp 。
           
 <%@include file="../common/jsp/head.jsp"%>

2)本质:
先包含,后编译。在被编译的 jsp 中已经包含被 include 的文件内容。即是把 head.jsp的源代码添加到了 include.jsp 中,然后编译成一个 class 文件,属于先包含后编译。

3、taglib指令:
1)实例:
<%@ taglib url="http://java.sun.com/jsp/jstl/core" prefix="c" %>


(三)Jsp行为
1、include行为:<jsp:include>
1)实例:include.jsp 中包含 head.jsp 。          
<jsp:include page="/head.jsp" flush="true" ></jsp:include >


2)本质:
先运行后包含。运行时单独执行 head.jsp,然后把执行的结果包含到 include.jsp中,属于先运行后包含行为。在被编译的 include.jsp 中没有被包含的 head.jsp 文件的内容。

2、JavaBean行为:
1)定义 javaBean 对象:<jsp:useBean id="" class="" scope=""/>
2)获取 javaBean 属性:<jsp:getProperty name="" prperty="" />
3)设置 javaBean 属性:<jsp:setProperty name="" prperty="" value="" />
其中 name 为JavaBean 的名称,也就是useBean 行为的id 属性,property 为JavaBean属性,value 为属性值。

3、转发行为:<jsp:forward>
1)实例:
            <jsp:forward page="/somapage.jsp">
                    <jsp:param name="param1" value="value1">
                    <jsp:param name="param2" value="value2">
            </jsp:forward>



4、指令行为:<jsp:directive>相当于JSP指令。
1)实例:
            <jsp:directive.page />   行为相当于 <%@ page%>指令。
            <jsp:directive.include />行为相当于 <%@ include%>指令。
            <jsp:directive.taglib />  行为相当于 <%@ taglib %>指令。



JSP学习笔记(一):JSP基础

标签:

原文地址:http://blog.csdn.net/u012228718/article/details/43852135

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!