JSP预习

常见动态网站开发技术对比:

1、Jsp: 基于java平台,安全性高,适合开发大型的,企业级的Web应用程序。
2、Asp.net:.Net平台,简单易学。但安全性以及跨平台性差。
3、Php: 简单,高效,成本低开发周期短,特别适合中小型企业的Web应用开发。(LAMP组合:Linux(操作系统)+Apache(服务器)+MySQL(开源小型数据库)+PHP(语言))

Jsp简介

JSP 全名为 Java Server Pages ,其根本是一个简化的 Servlet 设计,他实现了再 Java 当中使用 HTML 标签。 JSP 是一种动态网页技术准,也是 JAVAEE 的标准。JSP 与 Servlet 一样,是在服务器端执行的。

Jsp基础语法

一、Jsp页面元素构成

1、Jsp指令

(1)page指令
位于jsp页面顶端,同一个页面可以有多个page指令``
page指令语法:

<%@ page 属性1="属性值"  属性2="属性值1,属性值2".....属性n="属性值n"%>

常用属性
language(指定JSP页面使用的脚本语言,默认值:java)
import(通过该属性来引用脚本语言中使用到的类文件,无默认值)

contentType(用来指定JSP页面所采用的编码方式,默认值text/html,ISO-8859-1)

(2)include指令 :将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句
(3)taglib指令 :使用标签库定义新的自定义标签,在JSP页面中启用定制行为

2、Jsp注释

(1)HTML的注释:

<!--html注释--> //客户端可见

注意:可以通过客户端(浏览器)查看源代码时能看到html注释
(2)JSP注释:

<%--jsp注释--%>//客户端不可见

(3)JSP脚本注释:

//单行注释
/** 多行注释 /

3、JSP脚本(在JSP页面中执行的java代码)

格式

<%Java代码%>
<body>
    <h1>大家好</h1>
 	<hr>
	<%
	out.println("Hello,JAVAEE开发");
	%>
</body>

4、JSP声明(在JSP页面中定义变量或者方法)

语法:
<%!Java代码%>

<body>
    <h1>大家好</h1>
 	<hr>
	<%!
	String str = "feng";
	int add(int a,int b);
	{
		return a+b;
	}
	%>
</body>

5、JSP表达式(在JSP页面中执行的表达式)

语法:
<% =表达式 %> //注意:表达式不以分号结束

<body>
    <h1>大家好</h1>
 	<hr>
	<%!
	String str = "feng";
	int add(int a,int b);
	{
		return a+b;
	}
	%>
	<br>
	你好,<%=s %><br>
	a+b=<%=add(10,5)%>
</body>

6、JSP页面生命周期

在这里插入图片描述
jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP问价,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可以大大降低对系统的资源需求,提高系统的并发量及响应时间。但也要注意多线程的编程带来的同步问题,由于该Servlet始终驻于内存,所以响应是非常快的。

JSP内置对象

一、简介:

JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象。

二、内置对象

1、out对象(out对象是JspWriter类的实例,是向客户端输出内容常用的对象)
(1)、void println() 向客户端打印字符串
(2)、void clear() 清除缓冲区的内容,如果在flush之后调用会抛出异常
(3)、void clearBuffer()清除缓冲区的内容,如果在flush之后调用不会抛出异常
(4)、void flush()
(5)、int getBufferSize()返回缓冲区以字节数的大小,如不设缓冲区则为0
(6)、int getRemaining() 返回缓冲区还剩余多少可用
(7)、boolean isAutoFlush() 返回缓冲区满时,是自动清空还是抛出异常
(8)、void close()关闭输出流

<%
	out.println("Bluemsun");
	out.println("蓝旭");
	out.println("工作室");
	out.println("第四周");
	out.println("预习博客");
%>
out.flush();
缓冲区大小:<%=out.getBufferSize() %>byte<br>
剩余缓冲区大小:<%=out.getRemaining() %>byte<br>
是否自动清空缓冲区:<%=out.isAutoFlush() %>byte<br>

2、get与post区别

<form name="regForm" action="动作" method="提交方式">
</form>

get:以明文的方式通过URL提交数据,数据在URL中可以看到。提交的数据最多不超过2KB.安全性较低但效率比post方式高。适合提交数据量不大,安全性不高的数据。比如:搜索、查询等功能。
**post:**将用户提交的信息封装在HTML HEADER内。适合提交数据量大,安全性高的用户信息。比如:注册、修改、上传等功能。
3、request对象
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
常用的方法
String getParameter(String name)返回name 指定参数的参数值
String[] getParameterValues(String name)返回包含参数name的所有值的数组
void setAttribute(String,Object);存储此请求中的属性值
String getContentType()得到请求的MIME类型
String getProtocol()返回请求用的协议类型及版本号
String getServerName()返回接受请求的服务器主机名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值