JSP入门之JSP内置对象

article/2025/9/29 11:56:56

系列文章目录

目录

前言

一、request对象

1.获取用户提交的信息

 2.JSP页面文件的编码方式

3.常用方法举例 

4.处理HTML标记 

5.处理超链接       

二、response对象

1.动态响应contentType属性       

2.response对象的HTTP文件头

3.response对象的重定向

三、session对象

1.session对象的id

2.session对象与URL重写   

3.session对象存储数据   

4.session对象的生存期限   

四、application对象

1.application对象的常用方法

2.application留言板

五、out对象

总结


前言

有些对象不用声明就可以在JSP页面的Java程序片和表达式部分使用,这就是JSP的内置对象。JSP的常用内置对象有request,response,session,application和out。

一、request对象

在JSP中,内置对象request封装了用户提交的信息,那么该对象调用相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。

1.获取用户提交的信息

request对象获取用户提交信息的最常用的方法是getParameter(String s)。

代码如下:<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %> 
<%@ page import="java.util.regex.Pattern" %>
<%@ page import="java.util.regex.Matcher" %>
<style>
   #tom{
      font-family:宋体;font-size:22;color:blue 
   }
</style> 
<HTML><body id ="tom" bgcolor = #ffccff>
输入购物小票内容(显示的是默认内容):
<%
   String content = "牛奶:12.68元,面包:6.6元,"
                    +"苹果:28元,香皂:6.58元";
%>
<form  action =""  method="post" id ="tom">
   <textArea  name="shopping" rows=5 cols=32 id ="tom">
      <%= content %>
   </textArea>
   <input type="submit" id ="tom" name="submit" value="提交"/>
</form>  
<%   String shoppingReceipt=request.getParameter("shopping");
     if(shoppingReceipt==null) {
        shoppingReceipt="0";
     }
     Pattern pattern;          
     Matcher matcher;         
     String regex="-?[0-9][0-9]*[.]?[0-9]*" ;
     pattern = Pattern.compile(regex); //初试化模式对象。
     matcher =
     pattern.matcher(shoppingReceipt); 
     double sum = 0;
     while(matcher.find()) {
       String str = matcher.group(); 
       sum += Double.parseDouble(str);
     } 
     out.print("购物小票消费总额:"+sum);
%>
</body></HTML>

 2.JSP页面文件的编码方式

JSP页面文件的编码方式为utf-8编码,只要让request对象在获取对象之前调用setCharacterEncoding方法设置编码为utf-8就可以避免乱码的现象。 

代码如下:request.setCharacterEncoding("utf-8");

3.常用方法举例 

String getProtocol()获取用户向服务器提交信息所使用的通信协议。                                                String getServeletPath()获取用户请求的JSP页面文件的名字。                                                        String getContextPath()获取用户请求的当前Web服务目录。                                                            int getContentLength()获取用户提交的整个信息的长度。                                                                  String getMethod()获取用户提交信息的方式。                                                                                String getHeader(String s)获取HTTP头文件中由参数s指定的头名字的值。                                    Enumeration getHeaderNames()获取头文字的一个枚举。                                                              Enumeration getHeaders(String s)获取头文件中指定头名字的全部值的一个枚举。                        String getRemoteAddr()获取用户的IP地址。                                                                                    String getServerName()获取服务器的名称。                                                                                    String getServerName()获取服务器的名称。                                                                                  String getServerPort()获取服务器的端口号。                                                                                    Enumeration getParameterNmaes()获取用户提交的信息体部分中各个nmae给出的参数的一个枚举。

4.处理HTML标记 

JSP页面可以含有HTML标记,当用户通过浏览器请求一个JSP页面时,Tomcat服务器将该JSP页面中的HTML标记直接发送到用户的浏览器,由用户的浏览器负责执行这些HTML标记。而JSP页面中的变量声明、程序片以及表达式由Tomcat服务器处理后,再将有关的结果用文本的方式发送到用户的浏览器。                                                    

1.form标记:用于对象提交数据,一般格式如下 

< form action = "请求访问的页面或者servlet" method = get|post>

   各种提交手段

   提交键

</form>

其中form表单经常把 文本框,下拉列表,滚动列表等作为form表单的子标记。

2.input 标记:用来指定form表单中数据的输入方式以及form表单的提交键,一般格式如下

<input type = "GUI对象" name = "GUI对象的名字" value= "GUI中的默认值"/>

type可以指定的类型有文本框text、单选框radio、复选框checkbox、口令框passward、隐藏hidden、提交键submit和重置键reset。

3.select,option标记:下拉式列表和滚动列表通过select和option标记来定义,经常作为form的子标记,一般格式如下:

<select name = "myName">

  <option value= "item1">文本描述</option>

  <option value= "item2">文本描述</option>

    ...

</select>

<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %>
<style>
   #tom{
      font-family:宋体;font-size:26;color:blue 
   }
</style> 
<%   String music = request.getParameter("music");
     String pic = request.getParameter("pic");
     String onOrOff=request.getParameter("R"); 
     if(music==null) music = "";
     if(pic==null)   pic = "";
     if(onOrOff==null) onOrOff = "off";
%>
<HTML><body id=tom background="image/<%= pic %>" >
<form action=""  method=post >
   <b>选择音乐:<br>
   <select id=tom name="music" >
      <Option selected value="back1.mp3">绿岛小夜曲
      <Option value="back2.mp3">我是一片云</option>
      <Option value="back3.mp3">红河谷</option>
   </select> 
   <input type="radio" name="R" value="on" />打开 
   <input type="radio" name="R" value="off" />关闭 
   <br><b>选择背景图像:<br>
   <select id=tom name="pic" size = 2>
      <option value="back1.jpg">荷花图</option>
      <option value="back2.jpg">玫瑰图</option>
      <option value="back3.jpg">校园图</option>
   </select> <br> 
   <input id=tom type="submit"  name="submit" value="提交"/>
</form> 
<%   if(onOrOff.equals("on")) {
%>       <br><embed src="sound/<%= music %>" height=50 />
<%   } 
%>
</body></HTML> 

4.textArea标记:能输入或显示多行文本的文本区。

5.style样式标记:用于定义HTML,其他标记中的字体样式。

6.table标记:表格以行列形式显示数据,不提供输入数据的功能。

7.image标记:用来显示一幅图像。

8.cmbed标记:用来播放音乐和视频。

5.处理超链接       

用户单击超链接标记的文字说明,可以访问超链接给出的链接页面,一般格式如下
<a href = 链接的页面地址> 文字说明</a>

超链接所链接的页面,使用request对象调用getParameter("参数")方法获取超链接参数传递过来的参数的值,即字符串(不允许含有ASCII字符,例如汉字等)。

String idStr = request.getParameter("id")

二、response对象

可以用response对象对用户的请求做出动态响应,向用户发送数据。

1.动态响应contentType属性       

页面用page指令设置页面的contentType属性的值,那么Tomcat服务器将按照这种属性值作出响应,将页面的静态部分返回给用户,用户浏览器接受到该响应就会使用相应的手段处理所收到的信息。

2.response对象的HTTP文件头

当用户访问一个页面时,会提交一个HTTP请求给Tomcat服务器,这个请求包括一个请求行、HTTP头和信息体。

3.response对象的重定向

可以使用response对象的sendRedirect(URL url)方法实现用户的重定向,即可以让用户从一个页面跳转到sendRedirect(URL url)中url指定的页面,即所谓的客户端跳转。

<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %>
<style>#textStyle{ font-family:宋体;font-size:36px;color:blue}
</style>
<HTML><body bgcolor=#ffccff>
<p id="textStyle">填写姓名(<%= (String)session.getAttribute("name")%>):<br>
<form action="test1.jsp" method="post" name=form><input type="text" id="textStyle"  name="name"><input type="submit" id="textStyle" value="确定"/>
</form>
</body></HTML>
<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %>
<HTML><body bgcolor = #DDEEFF>
<%  request.setCharacterEncoding("utf-8");String name=request.getParameter("name");if(name==null||name.length()==0) {response.sendRedirect("test.jsp");String str =(String)session.getAttribute("name");。session.setAttribute("name","李四"+str);}
%>
<b>欢迎<%= name %>访问网页。
</body></HTML>

三、session对象

Tomcat服务器使用内置对象session记录用户的信息。

1.session对象的id

当一个用户首次访问Web服务目录中的一个JSP页面时,Tomcat服务器产生一个session对象,这个session对象被分配了一个String类型的id号。这样session对象和用户之间就建立起一一对应的关系了。

2.session对象与URL重写   

如果用户浏览器支持Cookie,那么session对象可以和用户建立起一一对应的关系;如果不支持就需要重写URL来实现session对象的唯一性。可以让response对象调用encodeURL()或encodeRedirectURL()方法来实现URL重写。

String str = response.encodeRedirectURL("jsp文件")

<form action = <%jsp文件> method = post>

3.session对象存储数据   

session对象驻留再服务器端,该对象调用某些方法保存用户在访问某个Web服务目录期间的有关数据。主要方法如下:

public void setAttribute(String key, Object obj)

public Object getAttribute(String key)

pubnlic Enumeration getAttributeNames()

public void removeAttribute(String key)

4.session对象的生存期限   

一个用户在某个Web服务目录的session对象的生存期限依赖于session对象是否调用invalidate()方法使得session无效或session对象达到了设置的最长的“发呆”状态时间以及用户是否关闭浏览器或服务器被关闭。session对象可以使用下列方法获取或设置和生存时间有关的信息:

public long getCreationTime()获取session创建的时间

public long getLastAccessTime()获取session最后一次被操作的时间

public int getMaxInactiveInterval()获取session最长的发呆时间

public void setMaxInactiveInterval(int interval)设置session最长的发呆时间

public bhoolean isNex()判断session是否是一个新建的session

invalidate()使session无效

四、application对象

application对象也是由Tomcat服务对象负责创建,但与session对象不同的是,application对象被访问该Web服务目录的所有的用户共享,但不同Web服务目录下的application互不相同。

1.application对象的常用方法

public void setAttribut(String key, Object obj)

public Object getAttribute(String key)

public Enumeration getAttributeNames()

public void removeAttribute(String key)

public String getServletInfo()

2.application留言板

<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %>
<HTML>
<style>#textStyle{font-family:宋体;font-size:18;color:blue}
</style>
<body id='textStyle' bgcolor = #ffccff>
<form action='example4_16_pane.jsp' method='post' >留言者:<input  type='text' name='peopleName' size = 40/><br>标题:<input  type='text' name='title' size = 42/><br>留言:<br><textArea name='contents' id='textStyle' rows='10' cols=36 wrap='physical'>
</textArea><br><input type='submit' id='textStyle' value='提交留言' name='submit'/>
</form>
<a href='example4_16_show.jsp'>查看留言</a>
<a href='example4_16_delete.jsp'>删除留言</a>
</body></HTML>

五、out对象

out对象是一个输出流,用来向用户端输出数据,常用方法如下:

out.print(boolean)或out.println(boolean)用于输出一个布尔值

out.print(char)或out.println(char)用于输出一个字符

out.print(double)或out.println(double)用于输出一个双精度的浮点数

out.print(float)或out.println(float)用于输出一个单精度的浮点数

out.print(long)或out.println(long)用于输出一个长整型数据

out.print(String)或out.println(String)用于输出一个String对象的字符序列

总结

以上就是今天要讲的内容,本文仅仅简单介绍了JSP内置对象的使用,想要更加深入的了解JSP的内置对象可以去参考别人的博客。


http://chatgpt.dhexx.cn/article/bwWaWQAa.shtml

相关文章

JSP内置对象request

1.request对象 request对象是最常用的JSP内置对象之一,其中包含了有关浏览器请求的信息 可以在JSP页面中通过调用request对象的方法来获取请求中的相关数据以及浏览器的有关信息。 request对象用于处理请求的方法有很多 request的getPaeameter&#xff08;&#xff09;方法是…

【Jsp】第七课 Jsp内置对象的学习和使用

概念 什么是JSP内置对象&#xff1f; } JSP 内置对象是 Web 容器创建的一组对象 } JSP 内置对象是可以直接在 JSP 页面使用的对象 &#xff0c;无需使用“ new” 获取实例 } JSP 内置对象的名称是 JSP 的保留字 } 内置对象说白了就是别人创建好了的对象&#xff0c;我们…

JSP内置对象详解 常用方法

目录 out request response session application exception page config pageContext JSP内置对象的作用域 JSP内置对象是在JSP运行环境中已定义好的对象&#xff0c;可在JSP页面的脚本部分直接使用。 out对象 out 为输出流对象&#xff0c;主要用于向客户端输出流…

JSP内置对象

JSP内置对象的分类内置对象属性保存范围JSP内置对象的常用方法&#xff08;只列了一些&#xff09;小例子 一&#xff1a;JSP内置对象的分类 这些对象不用经过显示声明直接引用&#xff0c;也不用代码创建其实例&#xff0c;可在程序中直接使用&#xff0c;由Web Container为对…

jsp内置对象之request

一、内置对象概述 有些对象不用声明即可在jsp页面的java程序片和表达式中使用&#xff0c;这就是jsp 的内置对象。Jsp的常用的内置对象有request&#xff0c;response&#xff0c;session&#xff0c;aplication和out。Response和request对象是jsp内置对象中比较重要的两个&am…

JSP的内置对象详解

JSP内置对象 文章目录 JSP内置对象前言一、out对象1.原理2. 向客户端输出数据 二、page对象1.范围 三、pageContext 对象1.获取内置对象2.存储数据 四、request对象1.创建及获取请求2.范围 五、response 对象1.重定向网页2.处理HTTP文件头 六、session对象1.创建及获取客户的会…

JSP常用内置对象概述

1、概述 JSP提供了9个预设的对象&#xff0c;我们将其称为内置对象。这些对象内置在JSP网页环境之下&#xff0c;因此用户不需要引用这些对象所属的包&#xff0c;便可以直接在JSP网页中使用这些对象。 如图&#xff1a; (1 ) request与response对象。JSP网页能够具备与用户…

JSP的九种内置对象

JSP有九个内置对象&#xff08;又叫隐含对象&#xff09;&#xff0c;不需要预先声明就可以在脚本代码和表达式中随意使用&#xff0c;即不需要实例化&#xff0c;直接使用其方法即可。 pageppagecontentoutconfigexceptionrequestreponsesessionapplication 作用域&#xff…

JSP九大内置对象

JSP提供了由容器实现和管理的内置对象&#xff0c;也可以称之为隐含对象&#xff0c;由于JSP使用Java作为脚本语言&#xff0c;所以JSP将具有强大的对象处理能力&#xff0c;并且可以动态创建Web页面内容。但Java语法在使用一个对象前&#xff0c;需要先实例化这个对象&#xf…

【JSP内置对象】之9大内置对象(JavaWeb必背必掌握)

JSP内置对象 理解9大内置对象分类1.request&#xff08;请求对象&#xff09;2.response(响应对象)3.session(会话对象)4.application(应用程序对象)5.page(页面对象)6.pageContext(页面上下文对象)7.out(输出对象)8.config(配置对象)9.exception(异常对象) 理解 1.JavaEE规范…

SQL INSERT 语句

INSERT 语句是向表中添加新行&#xff0c;&#xff08;如图所示的是INSERT 语句的最基本形式&#xff09; 1、首先&#xff0c;是要指定要插入的表的名称&#xff08;例如图中的yuangong&#xff09; 2、其次&#xff0c;指定要插入的数据&#xff0c;一个或多个列的列表。必须…

pycharm sql语句插入

一. 二. 开控制台 三. 书写sql语句&#xff0c;点击绿色三角运行

python执行sql 语句

python执行sql 语句 数据etl 过程中会涉及到调度&#xff0c;也就是每天要定时执行的任务&#xff0c;这些任务执行过程中其实是通过底层的脚本代码来进行数据的清洗转换等处理的。而脚本代码中肯定会涉及到调用sql 语句的情况&#xff0c;最近项目正好用到python 脚本调用sql…

通过Navicat 写SQL语句

具体步骤&#xff1a; 1、首先打开要写SQL语句的数据库连接 2、然后点击菜单中的查询&#xff08;query&#xff09; 3、然后点击新建查询 4、然后输入SQL语句&#xff0c;点击运行 &#xff0c;查询到的数据在底部

mysql修改数据sql语句_sql语句修改数据

sql语句修改数据 SQL 中,可以使用 UPDATE 语句来修改、更新一个或多个表的数据。 语法格式为:UPDATE SET 字段 1=值 1 [,字段 2=值 2… ] [WHERE 子句 ] [ORDER BY 子句] [LIMIT 子句] 语法说明如下::用于指定要更新的表名称。 SET 子句:用于指定表中要修改的列名及其列值…

SQL语句常用命令

一、表设计 1、创建表 create table 表名 (字段 字段类型);2、复制表结构及数据 create table 新表 as select * from 旧表3、复制表结构不需要数据 create table 新表 as select * from 旧表 where 2<>24、查看表结构 desc 表名5、复制表数据 insert into 目标表 s…

【180609】经典SQL语句大全(CHM)

收集我们在平时使用SQL时的一些语法语句汇集&#xff0c;比如创建、备份、删除数据库的SQL脚本&#xff0c;这些当然是比较简了&#xff0c;还有复杂点的像备份、创建索引、复合SQL语句、创建视图、高级运算查询、EXCEPT 运算符、INTERSECT 运算符、使用外连接、SQL分组、复制或…

SQL语句大全实例

SQL语句实例 表操作 例 1 对于表的教学管理数据库中的表 STUDENTS &#xff0c;可以定义如下&#xff1a; CREATE TABLE STUDENTS (SNO NUMERIC (6, 0) NOT NULL SNAME CHAR (8) NOT NULL AGE NUMERIC(3,0) SEX CHAR(2) BPLACE CHAR(20) PRIMARY KEY(SNO…

数据库常用的sql语句大全--sql

前言 本片博客使用mysql数据库进行数据操作,使用Navicat for mysql 这个IDE进行可视化操作。每个SQL语句都是亲身实验验证的,并且经过自己的思考的。能够保证sql语句的可运行性。 sql语句的命令不区分大小写,但储存的数据是区分大小写的。在这里我们统一使用英文小写进行命…

SQL常用语句大全

我们在进行开发工作时&#xff0c;对数据库的操作是必不可少的&#xff0c;熟练掌握SQL语句可以让我们对数据库的数据处理变得非常简单&#xff0c;所以学习SQL语句是非常有必要的&#xff0c;下面汇总了一些常用的SQL语句 SQL语句的类型 DDL(Data Definition Language)数据定…