JSP 内置对象简介

JSP内置对象概述

由于JSP使用Java作为脚本语言,所以JSP将具有强大的对象处理能力,并且可以动态创建web页面内容。但Java语法在使用一个对象前,需要先实例化这个对象,这其实是一件比较繁琐的事情。JSP为了简化开发,提供了一些内置对象,用来实现很多JSP应用。在使用JSP内置对象时,不需要先定义这些对象,直接使用即可。

JSP九大内置对象

在JSP中一共预先定义了9个这样的对象,分别为:

下面将分别介绍这些内置对象及其常用方法。

Web程序的请求响应模式

  • 用户发送请求( request)
  • 服务器给用户响应( response)

表单的提交方式

1
< form name="formName" action="动作" method=“提交方式”</form>

表单常用的提交方式有两种,分别是get和post

get

get:以明文的方式通过UR提交数据,数据在URL中可以看到。提交的数据最多不超过2KB。安全性较低但效率比post方式高。适合提交数据量不大,安全性不高的数据。比如:搜索、查询等功能。

post

post:将用户提交的信息封装在 HTML HEADER内。适合提交数据量大,安全性高的用户信息。比如:注册、修改、上传等功能

实例

在项目WebContent目录下创建一个名为login.jsp的文件,在其中写入如下的登录表单:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户登录</title>
</head>
<body>
</body>
<form action="dologin.jsp" name="loginForm" method="get">
<table>
<tr>
<td align="right">用户名:</td>
<td><input type="text" name="userName"></td>
</tr>
<tr>
<td align="right">密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td><input type="reset" value="重置"> </td>
<td><input type="submit" value="登录"> </td>
</tr>
</table>
</form>
</html>

然后在创建一个名为dologin.jsp的文件,在该文件中写入登录的提交界面,这里不做什么处理,直接显示登录成功。

1
2
3
4
5
6
7
8
9
10
11
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>登录处理</title>
</head>
<body>
<h2>登录成功</h2>
</body>
</html>

测试get方法

在login界面中,输入用户名和密码,然后点击登录:

这时候就跳转到dologin界面了,注意看地址栏:

可以看到使用get方法,用户名和密码都会以明文的方式显示在URL中。

测试post方法

把login.jsp文件中的提交方法改为post:

1
<form action="dologin.jsp" name="loginForm" method="post">

然再重复上面的操作,观察地址栏,可以发现在地址栏是看不到上有用户的信息的:

虽然在地址栏看不见,不过表单数据,即用户名和密码还是提交给了服务器的。至于怎么得到这些表单数据往下看request内置对象。