【JavaWeb】JSP常用内置对象

session

//a页面
<% request.getSession().setAttribute("key","session");%>
<%=session.getId() %>
<a href="requestPage.jsp">点击</a>
//跳转页面
<%=session.getAttribute("key")%>
<%=session.getId() %>
getSession() //创建session对象,用requst对象调用,参数:true:自动创建,false:不创建 session.getId() //获取session的id
session.setMaxInactiveInterval(1*60*60) //设置session自动销毁时间,以秒为单位,这里是1小时 session.setAttribute("session", "12345678"); //往session域存储数据,object类型 session.getAttribute("session"); //取数据,取出是object类型
session.removeAttribute(“session”); //删除session域中指定的数据
2. request
通过该对象获取用户提交的信息 request.getParameter();
该对象包含了当前用户请求的上下文,包括表单信息,传递的参数信息等
还可以通过次对象获取session对象
HttpSession session=request.getSession();
本页面即可获得数据:
<form >
姓名:<input type="text" name="name" length="20">
账号:<input type="text" name="id" length="20">
<input type="submit" value="go"><br>
</form>
<%=request.getParameter("name") %><br>
<%=request.getParameter("id") %><br>
<%! String a,b; %>
<% if (request.getParameter("name")==null){
a=request.getParameter("name");
}
if (request.getParameter("id")==null){
b=request.getParameter("name");
}
%>
String username=request.getParameter("username");
//解决get请求中文乱码问题
username=new String(username.getBytes("iso-8859-1"),"utf-8");
不同页面跳转,使用action,servlet
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class s1
*/
@WebServlet("/s1")
public class s1 extends HttpServlet {
private static final long serialVersionUID = 1L; public s1() {
super();
// TODO Auto-generated constructor stub
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("hello");
request.setAttribute("name","Feathers");
request.getRequestDispatcher("requestPage.jsp").forward(request, response);
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response);
} }
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<%@page import="java.util.*" %>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="s1">
姓名:<input type="text" name="name" length="20">
账号:<input type="text" name="id" length="20">
<input type="submit" value="go"><br>
</form >
<%=request.getParameter("name") %><br>
<%=request.getParameter("id") %><br>
<%! String a,b; %>
<% if (request.getParameter("name")==null){
a=request.getParameter("name"); }
if (request.getParameter("id")==null){
b=request.getParameter("name");
}
// 向request域中存入一个键值对 %>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
hey@
<%System.out.println((String)request.getAttribute("name")); %>
</body>
</html>
request.getRequestDispatcher():(带数据)
request.getRequestDispatcher("想跳转的servlet名").forward(request, response);
request.getRequestDispatcher("文件路径").forward(request, response);
3.Response
该对象常常被用来完成页面的跳转、页面的自动刷新、页面的自动跳转、禁用缓存等功能
页面跳转的方法:
response.sendRedirect("页面的路径");
页面自动刷新的方法:
response.setHeader("refresh",3);每隔3秒刷新一次
页面自动跳转的方法:
response.setHeader("refresh","3;URL=commom.jsp?ref=aaa");
指定3秒后自动跳转到common.jsp页面并传递了值为aaa的参数ref
禁用缓存的方法:
response.setHeader("Cache=Control","no-cache");
response.serHeader("Pragma","no-cache");
response.setHeader("Expires",0);
禁用缓存后,当我们单击后退时,客户端会自动想服务器请求上一次页面
(此部分来源:https://www.cnblogs.com/zhuxiang1633/p/9604487.html)
4.COOKIE
https://www.cnblogs.com/whgk/p/6422391.html
【JavaWeb】JSP常用内置对象的更多相关文章
- JSP常用内置对象
1.request 1.1getAttribute(String name) 2.getAttributeName() 3.getCookies() 4.getCharacterEncoding() ...
- request.setCharacterEncoding 和常用内置对象 跳转
1.直接转码 new String(name.getBytes("ISO8859_1"),"GBK") 2. request.setCharactorEncod ...
- JSP的内置对象(上)
1.JSP内置对象的概念:JSP的内置对象时Web容器所创建的一组对象,不使用new关键字就可以使用的内置对象 2.JSP九大内置对象内置对象:out ,request ,response ,sess ...
- JavaScript常用内置对象(window、document、form对象)
由于刚开始学习B/S编程,下面对各种脚本语言有一个宏观的简单认识. 脚本语言(JavaScript,Vbscript,JScript等)介于HTML和C,C++,Java,C#等编程语言之间.它的优势 ...
- ASP.NET常用内置对象
ASP.NET 常用内置对象:Response对象.Request对象.Session对象.Server对象.Application对象 1.Response对象: (1) 用于向浏览器输出信息 常用 ...
- JSP的内置对象以及作用域。
最近在面试,一些基础的问题总是会被问到,虽然是基础,但是有些东西在工作中用的少,所以就有些记不清了,在面试的时候更因为紧张很容易造成原先知道的知识也会突然忘了的情况发生.所以在重新组织一下jsp的内置 ...
- Tomcat的常用内置对象
Tomcat的常用内置对象 1.request内置对象 所谓内置对象就是容器已经创建好了的对象,如果收到一个用户的请求就会自动创建一个对象来处理客户端发送的一些信息,这个内置对象就是request.类 ...
- 07-JavaScript之常用内置对象
JavaScript之常用内置对象 1.数组Array 1.1数组的创建方式 // 直接创建数组 var colors = ['red', 'blue', 'green']; console.log( ...
- python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)
昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2. ...
随机推荐
- C++算法导论第九章O(n)期望选择序列第i小的数字
#include<iostream> #include<vector> #include<algorithm> #include<time.h> usi ...
- TP5.1 分页(带参数传递)
不带参数: $rs = Db::name('admin')->order(['id'=>'desc'])->paginate(1); 带参数传递: $rs=Db::name('adm ...
- opencv:形态学操作-开闭操作
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...
- 吴裕雄 python 机器学习——数据预处理二元化Binarizer模型
from sklearn.preprocessing import Binarizer #数据预处理二元化Binarizer模型 def test_Binarizer(): X=[[1,2,3,4,5 ...
- 用eclipse发布springboot项目
使用eclipse打包springboot项目时一直报错 [ERROR] No compiler is provided in this environment. Perhaps you are ru ...
- 前端——语言——Core JS——《The good part》读书笔记——第六章节(Arrays)
本章介绍数组的内容,Java中的数组在创建时,会分配同等大小的内存空间,一旦创建数组的大小无法改变,如果数据超过数组大小,会进行扩容操作.并且数组的元素类型在创建时必须是已知的,而且只能存放相同数据类 ...
- 使用dockerfile构建镜像并在容器中安装软件遇到的问题
今天想在容器中安装一个pigz插件,于是就在dockerfile中使用RUN命令RUN apt-get install -y pigz结果构建镜像的时候报错Unable to locate packa ...
- Spring Cloud Alibaba 实战 之 Nacos 服务注册和发现
服务注册与发现,服务发现主要用于实现各个微服务实例的自动化注册与发现,是微服务治理的核心,学习 Spring Cloud Alibaba,首先要了解框架中的服务注册和发现组件——Nacos. 一.Sp ...
- The Preliminary Contest for ICPC Asia Xuzhou 2019 G Colorful String(回文自动机+dfs)
这题建立一棵回文树,然后用dfs搜索答案,但是有一点需要注意,就是打vis的标记时,如果标记为1,那么在好几个节点都对同一个字符i打过标记,此时的搜索从字符i点回溯,回到它的父亲节点,搜索其它的字符, ...
- 使用node查询数据库(mysql)时,日期格式不对的问题。
https://blog.csdn.net/chanlingmai5374/article/details/93190983 1.问题场景 数据库里存了 datetime.但 Node 查询出来是这样 ...