JavaWeb -jsp文件和内置对象的解析
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文件和内置对象的解析的更多相关文章
- Spring,SpringMVC,MyBatis,Hibernate,Servlet的生命周期,jsp有哪些内置对象,Tomcat,Cookie和Session的作用以及区别,oracle,MYSQL等面试题总结
1. 什么是Spring,谈谈你对Spring的理解 Spring是我们JAVA开发人员在搭建后台时选用的一个轻量级的开源框架,Spring框架目前也是功能丰富,十分优秀企业级采用最多的一个框架. S ...
- jsp篇 之 Jsp中的内置对象和范围对象
Jsp中的内置对象: 在jsp页面代码中不需要声明,直接可以使用的对象. 一共有[9个内置对象]可以直接使用. 对象类型 名字 PageContext pageC ...
- JSP中的内置对象和Struts中的Web资源的详解
JSP中的内置对象有如下几种: request :继承于HttpServletRequest, HttpServletRequest继承ServletRequest, 获得的Request对象的方法: ...
- jsp有哪些内置对象?作用分别是什么?(至少三个)
jsp有哪些内置对象?作用分别是什么?(至少三个) 解答: 1)request表示HttpServletRequest对象.它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, head ...
- JSP有哪些内置对象
JSP有哪些内置对象? 1.page:JSP网页本身; 2.request:用户端请求,此请求会包含来自GET/POST请求的参数; 3.session:请求有关的会话; 4.application: ...
- [转]python file文件操作--内置对象open
python file文件操作--内置对象open 说明: 1. 函数功能打开一个文件,返回一个文件读写对象,然后可以对文件进行相应读写操作. 2. file参数表示的需要打开文件的相对路径(当前 ...
- jsp中的内置对象(9个)、作用
jsp内置对象 定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量 JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 1.request对象 客户 ...
- jsp九个内置对象、四个域对象及Servlet的三大域对象
一,什么是内置对象? 在jsp开发中会频繁使用到一些对象,如ServletContext HttpSession PageContext等.如果每次我们在jsp页面中需要使用这些对象都要自己亲自动手创 ...
- jsp jsp九个内置对象
每个JSP页面在第一次被访问的时候,WEB容器都会把请求交给JSP引擎(即一个JAVA)程序.JSP引擎先将JSP翻译成一个_jspServlet实质也是一次servlet,然后按照 Servl ...
随机推荐
- 【334】Python Object-Oriented Programming
Reference: Python中self用法详解 __init__ 方法: 私有变量. Reference: [290]Python 函数 class 里面的 function 创建与此一致,只是 ...
- 在CentOS上安装tomcat
先从tomcat网站上下载最新的gz安装包 文件名:apache-tomcat-8.0.8.tar.gz 将文件上传到/usr/local目录中 执行解压缩 tar zxvf apache-tomca ...
- vnc安装
安装命令:yum install tigervnc-server 一.启动VNC服务 输入命令 vncserver ps -ef|grep Xvnc vncserver -geometry 800x6 ...
- transform.rotation和GetComponent<Rigidbody>().MoveRotation
同时在UPDATE和FIXED UPDATE中调整 旋转 并未出现闪,而是一直以UPDATE中的为准,可认为MoveRotation调用后在UPDATE中生效 using System.Collect ...
- 转)GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL的区别 以下是上述协议的简单介绍: BSD开源协议 BSD开源协议是一个给于使用者很大自由的协议.基本上使用者可以”为所欲为”, ...
- archiver error. Connect internal only, until freed. 之解决办法
这个报错说的是数据库的日志备份不足空间.解决办法: DELETE backup COMPLETED BEFORE 'SYSDATE-7';DELETE ARCHIVELOG ALL COMPLETED ...
- 用Hash Table(哈希散列表)实现统计文本每个单词重复次数(频率)
哈希表在查找方面有非常大应用价值,本文记录一下利用哈希散列表来统计文本文件中每个单词出现的重复次数,这个需求当然用NLP技术也很容易实现. 一.基本介绍 1.Hash Key值:将每个单词按照字母组成 ...
- Chrome 强制刷新缓存的方法
https://jingyan.baidu.com/article/11c17a2c2a9e27f446e39d98.html
- 2016-2017-20155329 《Java程序设计》第6周学习总结
学号 2016-2017-20155329 <Java程序设计>第6周学习总结 教材学习内容总结 数据从来源取出:输入串流 java.io.InputStream 写入目的的:输出串流 j ...
- Docker 基本原理
1 什么是Docker? Docker是基于Go语言实现的云开源项目.Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装.分 ...