博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSP技术的学习总结
阅读量:2441 次
发布时间:2019-05-10

本文共 3986 字,大约阅读时间需要 13 分钟。

JSP的简介:

JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的, 不同的是先由服务器编译部署成Servlet执行

jsp运行过程jsp --翻译成servlet --编译 --访问

JSP的脚本元素(3种):

  • <!% %> :定义类、定义变量、定义方法(不常用)
  • <%= %> :输出语句(输出到页面,不能拥有分号)
  • <% %> :定义变量、语句

JSP 页面注释(3种):

1.JSP注释:<%-- … --%>,转化阶段消失,只能被开发人员看到2.JAVA注释://、/**/、/***/,编译阶段消失3.HTML注释:

JSP 指令元素:

语法:<%@ 指定元素 属性名=属性值 %>

功能(有两点):

  • 用于指示JSP执行某些步骤
  • 用于指示JSP表现特定行为

指令元素的分类:

  • page指令标记
  • include指令标记
  • taglib指令标记

page指令:用来定义JSP文件的全局属性   语法:<%@ page   ......    %>”

注意:在JSP页面中,只有import可以出现多次,其它属性都只能出现一次

下面是page指令标记表格,可以设置page指令标记中的属性:

下面是实例代码,关于page指令标记的使用:

<%@page import="java.util.ArrayList"%><%@page import="java.util.List"%><%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8" session="true" buffer="8kb" autoFlush="true"    errorPage="/jsp/error.jsp" isELIgnored="false"%>

 include指令标记:  包含页面(页面布局)        静态包含语法  :<%@ include file=“filename” %>

filename 指的是(服务器端路径,没有项目名称);

静态包含的作用:在JSP页面中静态包含一个文件,同时由JSP解析包含的文件内容

include指令标记的实例代码:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Insert title here<%@ include file="/include/head.jsp" %><%@ include file="/include/menu.jsp" %>

网站的新闻(数据变化)

<%@ include file="/include/foot.jsp" %><% %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

网站的LOGO

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

网站的超链接

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

网站的友情的链接

taglib指令标记: 

taglib :引入标签库文件

语法:<%@ taglib %>

属性:

uri :引入标签库文件的名称

prifix :标签库文件的前缀名

JSP 内置对象:

主要讲下pagecontext对象,其他对象可以参考前面的博客;

pageContext对象:是一个域对象

功能:

1.向自己域中存取值(3种主要的方法)

Object getAttribute(String name)

void removeAttribute(String name)

void setAttribute(String name, Object value

2.向其他域中存取值:

*public abstract void  setAttribute  ( name, value,int scope)    向某个域中存值

public abstract     getAttribute( name,int scope)            向某个域中取值

public abstract  findAttribute( name)   按顺序在页面、请求、会话(如果有效)和应用程序范围中搜 索指定属性,并返回关联的值或 null。也就是从最小的域中开 始查找

3.可以获取其他8个对象

getException方法返回exception隐式对象
getPage方法返回page隐式对象
getRequest方法返回request隐式对象
getResponse方法返回response隐式对象 
getServletConfig方法返回config隐式对象
getServletContext方法返回application隐式对象
getSession方法返回session隐式对象
getOut方法返回out隐式对象

 

JSP标签:

定义:JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护。

jsp常用标签:

<jsp:useBean> 使用一个ID和一个给定作用范围和同一ID的JavaBean相关联

<jsp:setProperty> 设置JavaBean的属性值

<jsp:getProperty> 取得JavaBean的属性值

<jsp:include>   文件包含(服务器端路径,没有项目名称)

<jsp:forward page=“转发路径”> 在JSP的页面中完成转发(服务器端路径,没有项目名称),将请求传递给另一个JSP页面(转发)。

<jsp:param>用来传递参数,可以写在<jsp:forward>中间 可以使用request.getParameter();来接收参数

下面是实例代码:

<%-- <%
%> --%>

还有转发动作标签的示例代码:

下面是forward.jsp的代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
Insert title here

JSP的动作标签

下面是pageContext.jsp的代码,在其中写了如何向其他4个域对象pageContext、request、session、application存取值:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
Insert title here <%=request.getParameter("username") %>

从其他域中存取值

<% pageContext.setAttribute("name", "小明"); //下面这句等价于上面 pageContext.setAttribute("name", "小明", pageContext.PAGE_SCOPE); request.setAttribute("name", "小龙"); //向request域中存入值 pageContext.setAttribute("name", "小龙", pageContext.REQUEST_SCOPE); //向session域中存入值 pageContext.setAttribute("name", "张三", pageContext.SESSION_SCOPE); //向application域中存入值 pageContext.setAttribute("name", "李四", pageContext.APPLICATION_SCOPE); %> <%=pageContext.getAttribute("name", pageContext.SESSION_SCOPE) %> <%=session.getAttribute("name") %> ${ pageScope.name} ${ requestScope.name} ${ sessionScope.name} ${ applicationScope.name}

配置全局的错误页面

应该到web.xml中配置,配置代码如下

404
/404.jsp
500
/500.jsp

参考: 传智播客  www.itcast.cn

转载地址:http://dzdqb.baihongyu.com/

你可能感兴趣的文章
最新版本Linux Flash 9 Beta开放发布(转)
查看>>
mysql事务处理(转)
查看>>
Fedora 显示设备配置工具介绍(转)
查看>>
FREEBSD 升级及优化全攻略(转)
查看>>
系统移民须知:Linux操作系统安装要点(转)
查看>>
在redhat系统中使用LVM(转)
查看>>
Gentoo 2005.1 完整的USE参数清单中文详解(转)
查看>>
如何在嵌入式Linux产品中做立体、覆盖产品生命期的调试 (5)
查看>>
手机最新触控技术
查看>>
Kubuntu 项目遭遇困难(转)
查看>>
kubuntu使用日记之 eva的配置使用(转)
查看>>
unix下几个有用的小shell脚本(转)
查看>>
QQ病毒的系列处理办法(转)
查看>>
source命令的一个妙用(转)
查看>>
亚洲开源航母呼之欲出 目标瞄向Novell与红帽(转)
查看>>
正版化:水到渠成?预装Windows对Linux无打压(转)
查看>>
Red Hat并购JBoss 谁将受创?(转)
查看>>
基于IBM大型主机,Linux开辟意大利旅游新天地(转)
查看>>
一些Linux试题(经典!!)(转)
查看>>
优化MySQL数据库性能的八大“妙手”(转)
查看>>