参考书籍:《J2EE开源编程精要15讲》

JSP(Java Server Page)页面由HTML代码和嵌入其中的Java代码组成。

简单的JSP页面如:

 <html>
<body>
<%
out.println("<H1>Hello World!</H1>");
%>
</body>
</html>

JSP页面一般包括JSP指令、JSP脚本元素、JSP标准动作,以及JSP隐式对象

  JSP指令

    1) page指令

      定义一些属性,用来通知Servlet引擎有关JSP的一些设置,主要为:

        language属性:编写JSP页面时用的脚本语言,如:Java语言 <%@ page language="java" %>

        contentType属性:应答MIME类型(多用途互联网邮件扩展类型,是设定某种扩展名的文件用一种应用程序来打开的方式类型),

                 如:<%@ page contentType="text/html;charset=GB2312" %> charset设置页面字符类型

        pageEncoding属性:jsp本身页面文件的编码,如:<%@ page pageEncoding="utf-8" %>

                  与contentType属性的区别:http://smiky.iteye.com/blog/894938

        import属性:引入软件包或类,如:<%@ page import="java.io.*;java.util.*" %>

        session属性:指定JSP页面会话的可用性,默认为true,如:<%@ page session="false" %>

        isErrorPage属性:指定当前页面是否用作JSP错误页面,默认为false,如:<%@ page isErrorPage="true" %>

        errorPage属性:设置错误页,发生未处理的页异常重定向到该设置页,与isErrorPage属性配合使用,

                如:<%@ errorPage="error.jsp" %> 

                使用示例:http://www.tojsp.com/jsp/how-to-use-jsp-error-page.html

    2) include指令

      指出编译JSP页面时要插入的文件名(相对路径),所包括的文件内容成为JSP页面的一部分。可用于插入多页面公用的代码,

      如:在JSP页面中包括头文件(header.html) <%@ include file="header.html" %>

    3) taglib(标记库)指令

      在JSP页面引入该页面所要用到的标记库资源,如:<%@ taglib prefix="s" uri="/struts-tags" %>

  JSP脚本元素

    1) JSP声明

      定义JSP页面级变量与方法。声明语句放在<%!与%>标记内,总以分号结尾,如:

      <%!

        private int x=0;

      %>

    2) JSP表达式

      直接插入值到输出,如:<%=Math.PI%>

    3) JSP代码段

      包括在<%与%>标记内的有效代码片段,如:    

 <html>
<body>
<%! int i=0; %>
<% i++; %>
The result is:<%=i %>
</body>
</html>

  

  JSP标准动作

    1) forward动作 <jsp:forward>

      提交请求给不同页面,如:

       <jsp:forward page="another.jsp">

        <jsp:param name="user" value="Tom" />

       </jsp:forward>

       <jsp:param>用以传递附加请求参数,name属性指出参数名,value属性指出参数值

    2) include动作<jsp:incluse>

      插入文件到特定JSP页面,此文件包含在请求JSP页面时刻,如:

        <jsp:include page="one.html" flush="true" />

        page属性给出要包含页面的相对路径,flush属性指出缓冲区是否冲洗

      与include指令区别:

        include指令:只能合并静态页面或文档内容

        include动作:可包括动态生成的输出结果

    3) useBean动作<jsp:useBean>

      寻找与装入现有JavaBean,如:

        

 <%@ page language="java" %>
<html>
<body>
<jsp:useBean id="mybean" class="com.kate.SimpleBean" scope="session" />
<jsp:setProperty name="mybean" property="name" value="Bill" />
<p>
<jsp:getProperty name="mybean" property="age" />
</p>
</body>
</html>

        id属性定义唯一标识Bean的实例,class属性指出要实现的Bean对象的类,scope属性指出Bean的使用范围(page、session、application)

    4) JSP的隐式对象

      包含在JSP表达式与代码段的某些预定义变量:request、response、out、session、application、config、page、pageContext、exception。

Java Web编程的主要组件技术——JSP的更多相关文章

  1. Java Web编程的主要组件技术——Struts入门

    参考书籍:<J2EE开源编程精要15讲> Struts是一个开源的Java Web框架,很好地实现了MVC设计模式.通过一个配置文件,把各个层面的应用组件联系起来,使组件在程序层面联系较少 ...

  2. Java Web编程的主要组件技术——MVC设计模式

    参考书籍:<J2EE开源编程精要15讲> MVC(Model View Controller),Model(模型)表示业务逻辑层,View(视图)代表表述层,Controller(控制)表 ...

  3. Java Web编程的主要组件技术——JDBC

    参考书籍:<J2EE开源编程精要15讲> JDBC(Java DataBase Connectivity)是Java Web应用程序开发的最主要API之一.当向数据库查询数据时,Java应 ...

  4. Java Web编程的主要组件技术——Hibernate核心组件

    参考书籍:<J2EE开源编程精要15讲> Hibernate配置文件 1) hibernate.cfg.xml <?xml version='1.0' encoding='UTF-8 ...

  5. Java Web编程的主要组件技术——Struts核心组件

    参考书籍:<J2EE开源编程精要15讲> Struts配置文件struts-config.xml Struts核心文件,可配置各种组件,包括Form Beans.Actions.Actio ...

  6. Java Web编程的主要组件技术——Servlet

    参考书籍:<J2EE开源编程精要15讲> Servlet是可以处理客户端传来的HTTP请求,并返回响应,由服务器端调用执行,有一定编写规范的Java类. 例如: package test; ...

  7. Java Web编程的主要组件技术——Hibernate入门

    参考书籍:<J2EE开源编程精要15讲> Hibernate是对象/关系映射(ORM,Object/Relational Mapping)的解决方案,就是将Java对象与对象关系映射到关系 ...

  8. Java Web编程的主要组件技术——Struts的高级功能

    参考书籍:<J2EE开源编程精要15讲> Struts对国际化的支持 "国际化"(I18N)指一个应用程序在运行时能根据客户端请求所来的国家/地区.语言的不同显示不同的 ...

  9. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

随机推荐

  1. execl执行解释器文件以及shell命令

    问题描述:        execl执行解释器文件以及shell命令 问题解决: 具体源文件:

  2. div+css的前端工程师的价值体现在哪些方面?

    个人认为前端工程师正慢慢演变为产品工程师.wap app, 响应性UI等以html5技术为基础的开发将成为前端工程师的主要工作内容,解决产品跨平台跨设备的实现问题.Javascript, HTML, ...

  3. .net发送邮件代码示例

    下面的代理已经调试过,用的是163的SMTP using System;using System.Collections.Generic;using System.Linq;using System. ...

  4. [设计模式] 21 策略模式 Strategy

    在GOF的<设计模式:可复用面向对象软件的基础>一书中对策略模式是这样说的:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换.该模式使得算法可独立于使用它的客户而变化. 策略模 ...

  5. 【好玩的应用】QQ连连看辅助工具

    自己学了这么久的C语言,但没有写出过什么可以用的东西来,总觉得心里不爽.这几天实在是不想干正事,在网上瞎逛逛,结果发现有人写了连连看的外挂.顿时觉得这很有意思啊.于是把代码下载下来,捣鼓了捣鼓.发现还 ...

  6. 源代码管理工具TFS2013安装与使用【转载】

    本文来源:博客园:http://www.cnblogs.com/suxinlcq/p/3956930.html 作者:suxin 最近公司新开发一个项目要用微软的TFS2013进行项目的源代码管理,以 ...

  7. oracle的全文索引

    1.查看oracle的字符集 SQL> select userenv('language') from dual; USERENV('LANGUAGE') ------------------- ...

  8. Linux防火墙(Iptables)的开启与关闭

    Linux防火墙(iptables)的开启与关闭 Linux中的防火墙主要是对iptables的设置和管理. 1. Linux防火墙(Iptables)重启系统生效 开启: chkconfig ipt ...

  9. [topcoder] EllysNumberGuessing

    http://community.topcoder.com/stat?c=problem_statement&pm=12975 简单题 #include <cstdlib> #in ...

  10. [Unity菜鸟] Character控制移动

    1. 给角色加角色控制器组件,然后用以下代码可以控制角色移动和跳跃 float speed = 6.0f; float jumpSpeed = 8.0f; float gravity = 20.0f; ...