浅谈JSP(一)
一、JSP引言
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计。它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
作用:替代在java web开发中负责显得的Servlet。
二、jsp编程语法
1、脚本
a、输出脚本(表达式脚本)
作用:用于把java表达式的结果,输出到页面中。
语法:<%=java表达式%>
b、声明脚本
作用:用于声明(定义)变量或者函数。
语法:<%!java语法 声明变量或者函数%>
注意:声明脚本中声明的内容,只能用于输出脚本或者普通脚本。
c、普通脚本
作用:可以应用一切的java语法,除了定义函数。
语法:<% java语法 %>
注意:脚本与脚本、脚本与html标签是不能嵌套的。
2、指令
a、page
<%@page attribute1=value1 attrubute2=value2%>
(1)language="java"
(2)contentType="text/html;charset=UTF-8"
其中的charset=UTF-8,表示的是服务器相应client浏览器的编码方式。
(3)pageEncoding="UTF-8"
这个代表的是jsp转换成java源文件的字符集编码。
(4)import="包1,包2"
(5)session="true|false"
true(默认):如果当前没有创建session,则创建session,有session的话,直接使用该session。
false:如果当前有session,则使用该session,如果没有,则不应用session。
(6)isElIgnored="true|false"
true:忽略EL表达式。
false(默认):不忽略EL表达式。
(7)errorPage
指定当发生错误时,跳转到该页面。
(8)isErrorPage
指定当前页面是否为错误页面
b、include
静态包含,源代码包含,将不同的jsp页面整合到同一个页面中。
不建议在开发中使用,风险多。
c、taglib
作用:引入jsp中的标签库
<%@taglib uri="" prefix="">
3、动作
a、include
动态包含,输出包含,推荐使用这种包含,代码没有入侵性。
b、forward
jsp之间的跳转(没有任何意义)
4、内置对象
在jsp中的输出脚本,或者普通脚本中,不用创建便可以直接使用的java对象。
a、request
相关操作:
request.setAttribute();
request.getAttribute();
request.getContextPath(); //用于动态获取应用名
b、response(不怎么用)
c、session
相关操作:
session.setAttribute();
session.getAttribute();
d、application(ServletContext作用域)
e、out
用于页面输出,等价于<%= %>
f、config(ServletConfig)
g、exception
这个内置对象只能使用在声明isErrorPage的jsp页面中,代表上一张发生错误的页面产生的异常。
h、page
代表当前的jsp页面,类似于this。
i、pageContext
(1)pageContext可以获得其他的8种内置对象
pageContext.getRequest();
pageContext.getResponse();
pageContext.getOut();
....
(2)pageContext是一个作用域(request,session,application)
pageConetxt在本页面有效。
pageContext.setAttribute();
pageContext.getAttribute();
(3)pageContext可以操作设置其他的作用域
pageContext.setAttribute("key","value",PageContext.REQUEST_SCOPE);
pageContext.getAttribute("key",PageConetxt.REQUEST_SCOPE);
...
浅谈JSP(一)的更多相关文章
- 【sql注入】浅谈JSP安全开发之SQL注入
[sql注入]浅谈JSP安全开发之SQL注入 本文转自:i春秋社区 前言不管是用什么语言编写WEB应用程序,他们都或多或少有一些地方存在漏洞.如果你想知道漏洞的运行原理,和防御方案,那么请看完本篇文章 ...
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- 浅谈JSP注释
HTML注释 JSP文件是由HTML尿急和嵌入的Java程序片段组成的,所以在HTML中的注释同样可以在JSP文件中使用.注释格式:<!--注释内容--> <!-- 欢迎提示信息! ...
- 浅谈JSP(二)
一.EL表达式 作用:从作用域(pageContext,request,session,application)中取值,并显示在页面中. 本质:用于替换输出脚本(<%= %>). 1.从作 ...
- 【The Most Important】浅谈JSP表单Post方式中文乱码问题
首先祝大家鸡年吉祥!在这里我要说下这两天里这个问题困扰着我,大过年的心情都被烦扰的不好了,所以我带着兴奋的心情来赶快完成这篇博客,解决大家的问题.我的问题是post方式传递表单数据,Tomcat服务器 ...
- 浅谈 JSP & Servlet
body { text-align: center; } div.develon { background-color: #cccccc; font-size: 20px; } 背景 相信大家都见过这 ...
- 【安全开发】浅谈JSP安全开发之XSS
前言 大家好,好男人就是我,我就是好男人,我就是-0nise.在各大漏洞举报平台,我们时常会看到XSS漏洞.那么问题来了,为何会出现这种漏洞?出现这种漏洞应该怎么修复?目录 1.XSS ...
- jsp内置对象浅谈
jsp内置对象浅谈 | 浏览:1184 | 更新:2013-12-11 16:01 JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对 ...
- 浅谈struts2之chain
转自:http://blog.csdn.net/randomnet/article/details/8656759 前一段时间,有关chain的机制着实困绕了许久.尽管网上有许多关于chain的解说, ...
随机推荐
- CF卡是什么
CF卡(Compact Flash)最初是一种用于便携式电子设备的数据存储设备.作为一种存储设备,它革命性的使用了闪存,于1994年首次由SanDisk公司生产并制定了相关规范.当前,它的物理格式已经 ...
- Xamarin生成的APK大小分析
原文:Xamarin生成的APK大小分析 刚接触Xamarin都会被Xamarin的售价吓一跳,另外就是它生成的APK大小,官方也有相关的说明,这里加上自己的理解同意讲解下: 以下是针对Android ...
- 在Mac上配置Apache+PHP环境
1.启用Apache/Web共享 打开终端,运行启动Apache命令: sudo apachectl start 然后输入系统密码,运行成功. 关闭命令: sudo apachectl stop 重启 ...
- ruby简单的基础 5
方法和代码块 在Ruby中.{}或do...end之间的代码是一个代码块.代码块只能出如今一个方法的后边,它紧接在方法最后一个參数的同一行上,一般由yieldkeyword调用代码块中的代码. 方法是 ...
- 基于eclipse的mybatis映射代码自动生成的插件
基于eclipse的mybatis映射代码自动生成的插件 分类: JAVA 数据库 工具相关2012-04-29 00:15 2157人阅读 评论(9) 收藏 举报 eclipsegeneratori ...
- SQL Server索引进阶:第十五级,索引的最佳实践
在本文中我们将推荐14条贯穿本系列的规则,这些规则帮助你为数据库创建最好的索引结构. 格式来自于<Framework Design Guidelines>.每条推荐用四个词来总结:Do做, ...
- 性能优化工具---vmstat
作用: 报告关于内核线程.虚拟内存.磁盘.陷阱和 CPU 活动的统计信息 参数: 通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数 显示说明: 第一行数据反映开 ...
- C++中#include <xxx.h>和#include "xxx.h"的区别(尖括号和双引号的区别)
第一种方式:采用< >方式,表示让编译器在编译器的预设标准路径下去搜索相应的头文件,如果找不到则报错. 例如:VS2015的安装目录\Microsoft Visual Studio 14. ...
- SQL Server 中的跨库视图
SQL Server 中的跨库视图 在一个SQL中,有多个数据库,A.B.C,在使用C为连接库中,现在要查询A中的表T1. 那么,在C中建创视图(A_T1). SELECT *FROM A.dbo.T ...
- SQL Server JDBC驱动中sqljdbc和sqljdbc4区别
为了支持向后兼容以及可能的升级方案,JDBC Driver 2.0 在每个安装包中都包括 2 个 JAR 类库:sqljdbc.jar 和 sqljdbc4.jar. qljdbc.jar 类库提供对 ...