jsp文件和内置对象的解析

对page解析

JSP九大内置对象(自带,无需new)

1 out:输出对象

2 request:请求对象,存储“客户端像服务端发送的请求信息”

3 response:响应对象

4 pageContext

5 session

6 application  全局对象

7 config

8 page

9 exception

两种提交文件方式(推荐post)

  get 提交方式:method=“get”,地址栏、超链接(<a href="xx">)请求方式 默认都为get

1.在地址栏显示请求信息(但容量有限 只有4-5KB)

2.出现乱码时:修改server.xml 更改tomcat的get编码 在post端口后加URIEncoding=“utf-8”

  post 提交方式:文件上传操作必须是此方式

1 出现乱码时:  request.setCharacterEncoding("utf-8");

=====================================================================================

request的常见方法:

  1 request.getParameter(String str);      按str作为key返回对应value

  2 request.getParameterValues(String str);  按str作为key返回对应多个value 用数组存储(例如checkbox按钮)

    3  request.setCharacterEncoding("utf-8");  设置请求编码

  4 request.getRequestDispatcher("b.jsp").forward(request,response); 请求转发  a-》b(页面跳转的一种方式)

  5 request.getServerContext();            获取项目的ServletContext对象

以下是对上述方法的综合示例(实现注册与显示页面)

注册页面

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="show.jsp">
用户名:<input type="text" name="uname"/><br/>
密码: <input type="password" name="upwd"/><br/>
年龄: <input type="text" name="uage"/><br/>
爱好: <br/>
<input type="checkbox" name="uhobbies" value="足球"/>足球
<input type="checkbox" name="uhobbies" value="篮球"/>篮球
<input type="checkbox" name="uhobbies" value="乒乓球"/>乒乓球<br/>
<input type="submit" value="注册">
</form>
</body>
</html>

显示页面

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("uname");
int age=Integer.parseInt( request.getParameter("uage"));
String pwd=request.getParameter("upwd");
String[] hobbies=request.getParameterValues("unhobbies");
%>
register complete!info as follow:
姓名:<%=name %><br/>
年龄:<%=age %><br/>
爱好:<br/>
<%
if(hobbies!=null){
for(String hobby:hobbies)
out.print(hobby);
}
%>
</body>
</html>

response的常见方法:

1 response.addCookie(Cookie cookie)服务端向客户端增加Cookie对象

2 response.sendRedirect(String location)  重定向 (页面跳转的一种方式)

3 response.setContentType(String type):设置服务端响应编码(设置服务端的ContentType类型)

=====================================================================================================

两种页面跳转的方式

1.response.sendRedirect(String location)               重定向

2.request.getRequestDispatcher("b.jsp").forward(request,response);  请求转发

区别示意图:

JavaWeb -jsp文件和内置对象的解析的更多相关文章

  1. Spring,SpringMVC,MyBatis,Hibernate,Servlet的生命周期,jsp有哪些内置对象,Tomcat,Cookie和Session的作用以及区别,oracle,MYSQL等面试题总结

    1. 什么是Spring,谈谈你对Spring的理解 Spring是我们JAVA开发人员在搭建后台时选用的一个轻量级的开源框架,Spring框架目前也是功能丰富,十分优秀企业级采用最多的一个框架. S ...

  2. jsp篇 之 Jsp中的内置对象和范围对象

    Jsp中的内置对象: 在jsp页面代码中不需要声明,直接可以使用的对象. 一共有[9个内置对象]可以直接使用. 对象类型           名字 PageContext          pageC ...

  3. JSP中的内置对象和Struts中的Web资源的详解

    JSP中的内置对象有如下几种: request :继承于HttpServletRequest, HttpServletRequest继承ServletRequest, 获得的Request对象的方法: ...

  4. jsp有哪些内置对象?作用分别是什么?(至少三个)

    jsp有哪些内置对象?作用分别是什么?(至少三个) 解答: 1)request表示HttpServletRequest对象.它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, head ...

  5. JSP有哪些内置对象

    JSP有哪些内置对象? 1.page:JSP网页本身; 2.request:用户端请求,此请求会包含来自GET/POST请求的参数; 3.session:请求有关的会话; 4.application: ...

  6. [转]python file文件操作--内置对象open

    python file文件操作--内置对象open   说明: 1. 函数功能打开一个文件,返回一个文件读写对象,然后可以对文件进行相应读写操作. 2. file参数表示的需要打开文件的相对路径(当前 ...

  7. jsp中的内置对象(9个)、作用

    jsp内置对象 定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量 JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 1.request对象 客户 ...

  8. jsp九个内置对象、四个域对象及Servlet的三大域对象

    一,什么是内置对象? 在jsp开发中会频繁使用到一些对象,如ServletContext HttpSession PageContext等.如果每次我们在jsp页面中需要使用这些对象都要自己亲自动手创 ...

  9. jsp jsp九个内置对象

       每个JSP页面在第一次被访问的时候,WEB容器都会把请求交给JSP引擎(即一个JAVA)程序.JSP引擎先将JSP翻译成一个_jspServlet实质也是一次servlet,然后按照 Servl ...

随机推荐

  1. Git---时光穿梭机之版本回退02

    现在你的本地仓库底下添加一个readme.txt文件 第一次readme.txt的内容如下:: Git is a version control systemGit is free sofwore 然 ...

  2. JAVA_03

    在Java中,理解JDK.JRE.JVM三者的区别是十分重要的; JDK JDK是Java Development Kit(Java开发工具包)的缩写,包含JRE和其他开发工具. JRE JRE是Ja ...

  3. [译]2D空间中使用四叉树Quadtree进行碰撞检测优化

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Unity2017.2.0f3 原文出处 : Quick Tip: Use Quadtrees to Detect Lik ...

  4. archlinux错误:无法提交处理 (无效或已损坏的软件包)

    1.首先更新一下密钥,如果没有安装archlinux-keyring,请及时安装 sudo pacman-key --refresh-keys 2.重新加载相应的签名密钥 sudo pacman-ke ...

  5. CMD-SVN查看版本修改记录

    [CMD-SVN查看版本修改记录] 问题:想查看某个版本的具体修做了哪些改动? 方法:svn diff -r r1:(r1-1)  (filename)    filename可选,如果加上就表示查看 ...

  6. 3D 点云特征

    博客参考: https://blog.csdn.net/shaozhenghan/article/details/81346585 和 https://www.cnblogs.com/li-yao77 ...

  7. golang之math/rand随机数

    简单的随机数生成,结合时间模块初始化种子 package main import ( "fmt" "math/rand" "time" ) ...

  8. Nginx 出现413 Request Entity Too Large 错误解决方法(上传大小限制)

    | 时间:2013-09-05 20:19:14 | 阅读数:485075 [导读] Nginx出现的413 Request Entity Too Large错误,这个错误一般在上传文件的时候出现,打 ...

  9. 不要怂,就是GAN (生成式对抗网络) (三):判别器和生成器 TensorFlow Model

    在 /home/your_name/TensorFlow/DCGAN/ 下新建文件 utils.py,输入如下代码: import scipy.misc import numpy as np # 保存 ...

  10. Core Graphics Layer Drawing

    [Core Graphics Layer Drawing] CGLayer objects (CGLayerRef data type) allow your application to use l ...