JSP基础

原创 2015年11月19日 23:01:11
JSP脚本元素是用来插入JAVA代码的,使用java编写的脚本元素会出现在编译成的servlet文件中,其中主要有3种类型的脚本元素
  • 表达式格式:直接调用java表达式输出数据
  • 小脚本格式:在<%%>内容编写java代码实现相应的功能
  • 声明格式:定义变量以及方法
JSP表达式
用于将Java的数值直接输出到页面,语法如下:
<%=Java表达式%>
exp:
<body>
<table><tr><td>当前系统时间是:<%=new java.util.Date() %></td></tr></table>
</body>
</html>

JSP小脚本
可以任意使用的Java代码段。语法如下
<%Java代码%>

JSP声明
JSP声明是用来定义插入到Servlet 类中的方法和成员变量,语法如下
<%!Java 声明%>


JSP的指令元素
JSP中的指令用来声明一些属性,如文件的编码格式,文档类型等。。。语法格式:
<%@ directive {attribute=value}*%>
其中*表示可以有多个属性
<%@ page language="java" contentType="text/html; charset=utf-8"%>
上述指令指定语言为JAVA,,,
page指令
用来声明页面的属性,其中的属性可以写到一个page指令中,也可分为多个page指令
<%@ page language="java" contentType="text/html; charset=utf-8" %>    //将多个属性写到一个 page
<%@ page  pageEncoding="UTF-8" %>            //一个指令中写一个属性
<%@ page import="java.util.*" %>                   //一个指令中写一个属性
除import属性外,page允许的属性在指令中只能出现一次,否则会出现编译错误
Language:指定解释该JSP文件采用的语言,默认为Java
Extends:指定编译该JSP文件继承那个类
Import:指定该JSP文件用到的类,包等
Session:指定JSP文件内是否内置session对象。如果为true,则内置session对象,可直接使用,否则不内置session对象。默认为true
autoFlush:指定是否运行缓存。如果为true,则使用out.println()等方法输出的字符串
buffer:指定缓存大小,当autoFlush设为true时有效
isThreadSafe:指定是否线程安全。如果为true,则运行多个线程同事运行该JSP程序,否则只运行一个线程。
isErrorPage:指定该页面是否是否为错误处理页面
errorPage:指定一个错误显示页面,如果该JSP跑出一个未捕捉的异常,则转到errorPage指定的页面
contentType:客户端浏览器根据该属性判断文档类型
info:指明JSP的信息。
 trimDirectiveWhitespaces:指定是否去掉指令前后的空白字符,默认为false

include指令
用来实现JSP页面的区块化。例如,在网站中的所有页面都需要有统一风格的导航栏或页脚等,就可以使用include指令。语法如下
<%@ include file="relativeURL" %>
其中relativeURL是程序内另外一个JSP或者HTML页面的路径

JSP的基本程序控制语句
主要有if ,,,,,for,,while
if 语句
JSP中可以使用if语句,但是if语句中可以包含HTML代码。如果在语句中包含HTML代码,必须使用{}括起来,。。
for语句

JSP支持的基本数据类型
  1. int:byte(8bit),short(16) int(32) long(64)
  2. float:单精度(32)双精度(64)
  3. Boolean:true,false
  4. char: Unicode,16
JSP的内置对象
不需要预先声明就可以在脚本代码和表达式中使用,共有9种内置对象。
request对象
封装了用户的提交信息,通过调用request对象的相应方法可以获取封装的信息,就是使用request对象可以获取用户所提交的信息。request对象具有作用域,在客户端发出请求时创建这个对象,在请求结束后,就会销毁该对象。
常用方法:

setAttribute(String name,Object):设置名字为name的request的参数值

getAttribute(String name):返回由name指定的属性值

getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例

getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组

getCharacterEncoding():返回请求中的字符编码方式

getContentLength():返回请求的Body的长度

getHeader(String name):获得HTTP协议定义的文件头信息

getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例

getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例

getInputStream():返回请求的输入流,用于获得请求中的数据

getMethod():获得客户端向服务器端传送数据的方法

getParameter(String name):获得客户端传送给服务器端的有name指定的参数值

getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例

getParameterValues(String name):获得有name指定的参数的所有值

getProtocol():获取客户端向服务器端传送数据所依据的协议名称

getQueryString():获得查询字符串

getRequestURI():获取发出请求字符串的客户端地址

getRemoteAddr():获取客户端的IP地址

getRemoteHost():获取客户端的名字

getSession([Boolean create]):返回和请求相关Session

getServerName():获取服务器的名字

getServletPath():获取客户端所请求的脚本文件的路径

getServerPort():获取服务器的端口号

removeAttribute(String name):删除请求中的一个属性
response对象
封装
了从JSP页面返回给客户的所有信息,它只想一个隐含对象,这个对象是和协议有关的ServletResponse的子类型
response对象主要用于将JSP处理数据后的结果传回到客户端。jsp 引擎会根据客户端的请求创建一个预设的response回应对象,然后传人service方法,他是用来提供客户端浏览器参考的信息。
void addCookie(Cookie cookie)   新增cookie
void addDateHeader(String name,long date)  新增long类型的值到name表头
void addHeader(String name,String value)       新增String类型的值到name 表头
void setHeader(String name,int value)           指定String类型的值到name表头
void setIntHeader(String name,int value)      指定int类型的值到name表头
void sendError(int sc)      传递状态码
void sendError(int sc,String msg)     传递状态码和错误信息
void setStatus(int sc)      设定状态码
void encodeRedirectURl(String url)       对使用sendRedirect()方法的URL予以编码

pageContext对象
代表当前JSP页面编译后的内容。通过该对象能够获取到JSP中的资源。
Exception getException()     回传目前网页的异常,不过此网页要为error page 
JSPWriter getOut()          回传目前网页的输出流,如out
Object getPage()               回传目前网页的Servlet实体
ServletRequest getRequest()          回传目前网页的请求
ServletResponse getResponse          回传目前网页的相应
...........



session对象
.session与cookie是记录客户访问信息的两种机制,session用于在服务区端保存用户信息,cookie用于在客户端保存用户信息。



初学JSP(JSP基础)

本文章是作者刚学JSP后的一个总结,刚接触JSP的朋友可以来看看,大神可以帮忙提出一下错误!...
  • hy_butter
  • hy_butter
  • 2017年03月05日 21:02
  • 883

【Web】Jsp基础学习

Apache目录结构 Web 目录结构 WEB-INF下包括下列文件 WEB-INF目录结构 1.      WEB-INF是java的WEB应用的安全目录。所谓安...
  • u010583599
  • u010583599
  • 2016年11月04日 10:52
  • 2223

JSP介绍及视频教程

Jsp Servlet视频教程大全
  • java_7star
  • java_7star
  • 2013年12月02日 20:05
  • 1223

jsp实验1.基本使用

环境准备:自己安装tomcat,要在环境变量path中设置好java路径,并把要用到的jar包(例如:mysql-connector-java-5.1.39-bin.jar)拷贝到tomcat的虚拟目...
  • qq_33826977
  • qq_33826977
  • 2017年04月15日 10:28
  • 536

JSP 基础知识点总结 01

//java scriptlet 代码 System.out.println("这里是jsp scriptlet标签");
  • wjtyy
  • wjtyy
  • 2016年04月01日 11:05
  • 462

Java之JSP和Servlet基础知识。

JSP,Java Server Pager的简称。由SUN倡导并联合其它公司创建。 JSP是一门脚本语言 JSP可以嵌入到HTML中 JSP拥有Java语言的所有特性 面向对象、健壮、多线程、安全、可...
  • ada_dengpan
  • ada_dengpan
  • 2016年06月24日 01:06
  • 8986

JSP基础知识框架

这一段时间由于项目需要,本人重新复习了一下JSP的相关知识。之前学习的内容总是容易忘,听说写博客是一种不错的学习和记忆方式,在这里尝试一下。一方面巩固一下JSP的基础知识,另一方面希望和其他同学分享一...
  • yy_james
  • yy_james
  • 2016年06月13日 21:33
  • 477

jsp数据库基础之--从MySQL数据库更新数据

终于进入数据库基础的最后一个环节,那就是更新数据了。这个操作对于初学者来说会稍微麻烦一些,要先从数据库中把我们想要的数据查询出来,然后再对数据进行更新。   我们开始吧~基本的原理跟之前增、查、删是...
  • mgsky1
  • mgsky1
  • 2016年08月18日 17:50
  • 551

JSP/Servlet基础语法

相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webap...
  • World_2015
  • World_2015
  • 2015年04月07日 10:57
  • 1178

JSP快速入门教程——全十讲

第一讲(参考《Java Web程序设计基础教程》第1章) 1 JSP 和 Java的关系    一般Java指的标注版 Java SE    另外两个版本:Java EE 和 Java ME...
  • hunannanhu
  • hunannanhu
  • 2015年05月22日 14:37
  • 7881
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSP基础
举报原因:
原因补充:

(最多只允许输入30个字)