今天还是在学习JSP的内容。随着对JSP的了解,发现JSP的主要用途和功能了。
一、首先是JSP的语法部分:
1 <% 代码片段 %>
这里是脚本程序,可以在里面写任意的java代码。
<%
String str="hello world";
out.println(str);
%>
如果代码中需要导入类包,则需要在page指令中使用import来完成。
<%@ page language="java" import="java.util.*,java.text.*" contentType="text/html; charset=utf-8"%>
2 <%! 声明语句 %>
一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。
<%!String name=””;
int a=0; %>
3 JSP的表达式<%=表达式 %>
一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
Today's date: <%= (new java.util.Date()).toLocaleString()%>
4 JSP注释
JSP注释主要有两个作用:为代码作注释以及将某段代码注释掉。注意,JSP注释掉的代码在客户端上是不显示的。
<%-- 这里就是注释代码--%>
二、接下来是JSP指令。主要有3种指令标签:page ,include和taglib。
指令 | 描述 |
<%@ page ... %> | 定义页面的依赖属性,比如脚本语言、error页面、 缓存需求等等 |
<%@ include ... %> | 包含其他文件 |
<%@ taglib ... %> | 引入标签库的定义,可以是自定义标签 |
至于指令的具体应用我会在后面的博客中写的。
三、最后,今天主要看的是JSP的9大隐式对象。
JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。jsp九大内置对象:
5个常用对象: out(输出),request(请求),response(响应),session(回话),application(应用)
4个不常用: page ,pageContent, exception ,config。
JSP所支持的九大隐式对象:
对象 | 描述 |
request | HttpServletRequest类的实例 |
response | HttpServletResponse类的实例 |
out | PrintWriter类的实例,用于把结果输出至网页上 |
session | HttpSession类的实例 |
application | ServletContext类的实例,与应用上下文有关 |
config | ServletConfig类的实例 |
pageContext | PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问 |
page | 类似于Java类中的this关键字 |
Exception | Exception类的对象,代表发生错误的JSP页面中对应的异常对象 |
首先我们要知道Web程序是请求响应模式的:
用户发送Http请求(request对象)和服务器给用户Http响应(response对象)。
在介绍request和response对象之前,我们先讲一下form表单在提交的时候使用的两种方法:get和post。
<!--注意这段代码使用的是post方法-->
<form name="loginForm" action="forward.jsp" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username" value=""/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password" value="" /></td>
</tr>
<tr>
<td colspan="2"><input type="checkbox" name="isUseCookie" checked="checked"/>十天内记住我的登录状态</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="登录"/><input type="reset" value="取消"/></td>
</tr>
</table>
</form>
这里介绍一下表单的两种方法的区别:
1、get:会以明文的方式通过URL提交数据,数据在URL里可以看到。提交的数据最大是2Kb的,安全性较低但效率比Post方式的高。适合提交数据量不大,安全性不高的数据。比如:搜索、查询等功能。这里还有一个注意的就是get方式提交数据是不会修改任何数据的。而post方式提交数据是会修改数据的(比如发布评论)。
2、post:将用户提交的信息封装在HTML header内。适合提交数据量较大、安全性高的用户信息。比如:注册、修改、上传等功能。