`
lxz891117
  • 浏览: 33324 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

jsp编码问题与内置对象

 
阅读更多

js编码函数:
escape,encodeURI,encodeURIComponent
1、escape:URI会被编码,然后不可识别成为一个正确的URI
2、encodeURI:URI中合法的标识不会被编码
3、encodeURIComponent:如果?后带的参数是URI,不编码这个URI的话,此URI不会正确的跳转,会有多个http://xxxx





2、例子:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page contentType="text/html;charset=iso8859-1"%>
<html>
<head>
<title>中文问题</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
</head>
<body>
我是个好人
</body>
1、第一处为jsp文件保存的编码方式 和请求参数编码,相当于request.setCharacterEncoding();
2、第二处是jsp文件的输出编码,相当于response.setCharacterEncoding();如果第二处未设置,默认根据第一处的设置;如果第一处也未设置,默认是iso-8859-1;
3、第三处指浏览器的显示编码,主要是静态页面的,如果是jsp文件,则1和2优先生效;如果1和2无误,此处可不设置;
post请求方式的编码:请求体方式请求。
1、request.setCharacterEncoding(),指定服务器接受来自客户端请求的编码方式;
2、response.setCharacterEncoding(),指定服务器向客户端发送响应时的编码方式;
get请求方式的编码:get方式是在url后面添加要请求的参数,类似于直接在地址栏输入url。
1、String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8") ;将得到的参数用iso-8859-1解码,再用utf-8编码;
2、修改tomcat的uriencoding,在tomcat/conf/server.xml文件中。




3、内置对象

对象

说明

类型

作用域

request 请求对象(包含来自GET/POST请求的参数) javax.servlet.ServletRequest Request
response 响应对象(服务器传回给客户端的回应) javax.servlet.SrvletResponse Page
pageContext 页面上下文对象(管理网页的属性) javax.servlet.jsp.PageContext Page
session 会话对象(与请求有关的会话期) javax.servlet.http.HttpSession Session
application 应用程序对象(servlet正在执行的内容) javax.servlet.ServletContext Application
out 输出对象(用来传送回应的输出) javax.servlet.jsp.JspWriter Page
config 配置对象(servlet的构架部件) javax.servlet.ServletConfig Page
page 页面对象(JSP页面本身) javax.lang.Object Page
exception 例外对象(针对错误网页,未捕捉的例外) javax.lang.Throwable Page

request 对象代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用的对象。

常用的方法有:getParameter、getParameterNames 和getParameterValues 通过调用这几个方法来获取请求对象中所包含的参数的值。

response 对象代表的是对客户端的响应,也就是说可以通过response 对象来组织发送到客户端的数据。但是由于组织方式比较底层,所以不建议普通读者使用,需要向客户端发送文字时直接使用。

pageContext 对象直译时可以称作“页面上下文”对象,代表的是当前页面运行的一些属性。

常用的方法有 :findAttribute、getAttribute、getAttributesScope 和getAttributeNamesInScope
一般情况下pageContext对象用到得也不是很多,只有在项目所面临的情况比较复杂的情况下,才会利用到页面属性来辅助处理。

session 对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。“session” 对象建立在cookie的基础上,所以使用时应注意判断一下客户端是否打开了cookie。常用的方法包括getId、 getValue、 getValueNames和putValue等。

概要
HTTP是无状态(stateless)协议;
Web Server 对每一个客户端请求都没有历史记忆;
Session用来保存客户端状态信息;
由Web Server 写入;
存于客户端;
客户端的每次访问都把上次的session记录传递给Web Server;
Web Server读取客户端提交的session来获取客户端的状态信息

application 对象负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有getMimeType和getRealPath等。

out 对象代表了向客户端发送数据的对象,与“response” 对象不同,通过“out” 对象发送的内容将是浏览器需要显示的内容,是文本一级的,可以通过“out” 对象直接向客户端写一个由程序动态生成HTML文件。常用的方法除了pirnt和println之外,还包括clear、clearBuffer、flush、getBufferSize和getRemaining,这是因为“out” 对象内部包含了一个缓冲区,所以需要一些对缓冲区进行操作的方法。

“config” 对象提供一些配置信息,常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。

“page” 对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用。

“exception” 对象则代表了JSP文件运行时所产生的例外对象,此对象不能在一般JSP文件中直接使用,而只能在使用了“<%@ page isErrorPage="true "%>”的JSP文件中使用。


分享到:
评论

相关推荐

    JSP语法与内置对象课件

    **JSP语法与内置对象详解** JavaServer Pages (JSP) 是一...这三个PPT文件——"JSP语法与内置对象(一)"、"JSP语法与内置对象(二)"、"JSP语法与内置对象(三)"将详细讲解这些概念,是深入理解JSP开发的宝贵资源。

    JSP内置对象pdf

    JSP提供了一些内置对象,这些对象在JSP页面中可以直接使用,无需声明,极大地方便了开发者的编程工作。在本次的文件中,详细介绍了JSP的9个内置对象,这些对象分别是request, response, pageContext, session, ...

    Jsp的九个内置对象

    **JSP内置对象详解** JSP(Java Server Pages)是一种动态网页技术,它允许开发者将HTML、CSS和Java代码结合在一起,以实现服务器端的逻辑处理。在JSP中,有九个内置对象,它们提供了方便的功能,无需显式创建就...

    JSP的九个内置对象及四个作用域

    JSP 九个内置对象及四个作用域 JSP(Java Server Pages)是一种基于Java的服务器端脚本语言,用于生成动态网页。在JSP中,九个内置对象是指不需要预先声明就可以在脚本代码和表达式中使用的对象,这些对象都是javax...

    实例详解JSP内置对象--request对象

    实例详解JSP内置对象--request对象 request对象是JSP中的内置对象之一,它提供了访问HTTP请求信息的功能。在基于Web的开发中,request对象扮演着极其重要的角色。本文将通过实例详解request对象的使用和掌握。 一...

    jsp九种内置对象举例讲解

    【jsp九种内置对象详解】 在JavaServer Pages (JSP)技术中,内置对象是预定义的、可以直接在页面上使用的对象,无需显式创建。它们提供了与服务器、用户交互以及管理请求和响应数据的能力。以下是JSP的九种内置对象...

    jsp内置对象的使用

    在Java Server Pages(JSP)技术中,内置对象是预定义的、可以直接在JSP页面中使用的对象,无需进行显式实例化。这些内置对象极大地简化了开发过程,提高了开发效率,使得开发者可以专注于业务逻辑而不是底层实现...

    jsp9大内置对象讲解

    在JavaServer Pages (JSP) 技术中,开发者可以使用九个预定义的、与请求处理相关的对象,这些对象被称为“内置对象”。这些对象提供了对HTTP请求的访问,简化了网页开发,使得程序员能够更高效地处理用户交互。以下...

    JSP内置对象(9个常用的内置对象)

    ### JSP内置对象详解 #### 一、Request对象 `request`对象是JSP中一个非常重要的内置对象,主要用于获取客户端请求的相关信息。在实际应用中,开发人员可以通过`request`对象来处理用户提交的数据或者获取用户的...

    Jsp九大内置对象代码

    在JSP中,有九大内置对象,它们是JSP引擎自动创建并提供给开发者使用的,无需显式声明。这些对象极大地简化了开发过程,提高了开发效率。下面我们将详细探讨这九大内置对象及其应用。 1. **pageContext对象**:...

    jsp内置对象一些实验题

    JSP内置对象实验题 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,主要用于Web应用程序的开发。JSP提供了一些内置对象,帮助开发者快速构建Web应用程序。这些内置对象包括request、response、...

    JavaEE基础JSP的9个内置对象

    此外,还可以设置字符编码,避免乱码问题: ```java request.setCharacterEncoding("UTF-8"); ``` 还可以获取客户端IP地址: ```java String ip = request.getRemoteAddr(); ``` 以及获取当前目录或指定文件的真实...

    JSP内置对象之域对象和JSP指令

    它提供了一种方式来访问其他JSP内置对象,并且可以用来设置或获取与页面相关的属性。 示例代码: ```jsp ("username", "JohnDoe"); %&gt; ("username") %&gt; ``` 2. **`request`**: 当一个客户端发送HTTP请求到...

    JSP内置对象方法介绍示例

    在压缩包文件"JSP内置对象"中,可能包含了关于这些对象的详细解释、代码示例以及使用场景分析,可以帮助读者更深入地理解和掌握JSP内置对象的使用。通过阅读和实践其中的内容,开发者可以提升自己的JSP编程能力,为...

    JSP内置对象的各对象的方法列表

    以下是一些JSP内置对象的主要方法: 1. **Request对象**: - `getAttribute(String name)`:获取请求中指定名称的属性值,如果不存在则返回null。 - `getAttributeNames()`:返回请求中所有属性的名称,以枚举...

    jsp9大内置对象

    ### JSP中的九大内置对象详解 #### 一、Request对象:获取客户端请求信息 `Request`对象主要用于收集来自客户端的数据,这些数据通过HTTP协议发送到服务器端。在JSP页面中,可以使用`Request`对象来获取客户端提交...

    JSP 9大内置对象学习总结

    ### JSP 9大内置对象学习总结 #### 一、Request对象详解 **1. 获取请求参数值** 在Web开发中,我们经常需要处理客户端发送过来的请求,并从中获取特定的参数值。JSP中的`request`对象允许我们轻松地访问这些参数...

    jsp全部内置对象详解

    ### JSP全部内置对象详解 在Java Server Pages (JSP)技术中,为了方便开发者进行Web应用程序开发,提供了一系列预定义的对象(内置对象),这些对象提供了处理请求、响应、会话管理等功能。本文将详细介绍JSP中的几...

    JSP的内置对象及用法

    ### JSP的内置对象及其用法 在Java Server Pages (JSP)技术中,为了方便开发者进行Web应用程序的开发,JSP提供了一系列内置的对象。这些内置对象无需显式声明即可直接使用,极大地简化了Web应用的开发过程。下面将...

Global site tag (gtag.js) - Google Analytics