【Servlet】Request/Response/Cookie/Session中常用方法
#1.Request
package com.tcb.servlet;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** 目的:总结HttpRequest中常用的方法*/
public class Servlet01Request extends HttpServlet {private static final long serialVersionUID = 1L;public Servlet01Request() {super();// TODO Auto-generated constructor stub}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//一、路径问题://1.上下文路径: /TCB-Request01 当前项目目录(重要的)String contextPath=request.getContextPath();System.out.println("======contextPath======="+contextPath);//2.uri--统一资源标识符: /TCB-Request01/Servlet01 服务器上的路径String uri=request.getRequestURI();System.out.println("======uri======="+uri);//3.url--统一资源定位符: http://localhost:8080/TCB-Request01/Servlet01String url=request.getRequestURL().toString();System.out.println("======url======="+url);////统一资源标识符=http://localhost/资源标识符//访问的地址:统一资源定位符//二、提交方式--GET/POST 默认是GET方式,此处运行结果为GETString method=request.getMethod();System.out.println("======method======="+method);//三、服务器内部--根据需求设置要传的值,并在其他页面根据Request获取值--利用的Request是域对象的特性,进行页面见传值//注意:区别于Parameterrequest.setAttribute("key", "value");request.getAttribute("");//根据名称获取指定传的值request.getAttributeNames();//获取所有的传值的名称//四、客户端--获取客户端传来的参数Parameter--比如get方式中地址栏问号?后的username=Jane&password=123//1.根据指定参数名称获取值request.getParameter("");//值为单个时request.getParameterValues("");//值为多个时,返回值为数组--比如爱好hobby,一个参数名下对应多个值//2.获取所有参数名称request.getParameterNames();//3.获取所有参数,并一键值对(key=value)的形式存在map集合中request.getParameterMap();//五、获得Cookie和sessionrequest.getCookies();request.getSession();request.getRequestedSessionId();//获取session的id,每个session都会在客户端生成一个唯一的id//六、设置编码方式request.setCharacterEncoding("utf-8");//七、转发--地址栏不变,请求一次request.getRequestDispatcher("要跳转到的页面地址").forward(request, response);request.getRequestDispatcher("要跳转到的页面地址").include(request, response);//包含,功能与forward类似,不常用}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}
#2.Response
package com.tcb.servlet;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** 目的:总结HttpResponse中常用的方法*/
public class Servlet02Response extends HttpServlet {private static final long serialVersionUID = 1L;public Servlet02Response() {super();// TODO Auto-generated constructor stub}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//一、设置编码--当然也可以获取编码方式,不常用就不一一列出了//设置响应输出的编码方式,不常用,一般用下面那个response.setCharacterEncoding("utf-8");//告诉浏览器输出的文本是html,让浏览器按照html方式进行解析,并且HTML的文件的编码格式是utf-8//因为在进行输出时可以写html标签,若没有设置为如下格式,就不能解析html标签//比如:response.getWriter().write("<a href='http://www.baidu.com' >百度<a/>");response.setContentType("text/html;charset=utf-8");//二、输出流response.getWriter();//字符流response.getOutputStream();//字节流//三、添加CookieCookie cookie=new Cookie("username", "用户名");response.addCookie(cookie);//四、设置请求头--常用于文件下载response.setHeader("content-type", "image/png");//设置请求头内容类型,为png类型图片//content-disposition内容配置//attachment代表附件的意思 保存下载内容response.setHeader("content-disposition", "attachment;filename="+"文件名称,带扩展名");//setHeader实现刷新//3s后刷新,只刷新一次--其中3指代时间 所以setHeader也可以实现页面跳转response.setHeader("refresh", "3;url=刷新跳转的页面地址,可以是jsp,HTML,Servlet等");response.setIntHeader("refresh", 3);//目的:循环是刷新,每隔3s去刷新//五、重定向--地址栏变化,请求两次response.sendRedirect("要跳转到的页面地址,一般用绝对路径");}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}
#3.Cookie
package com.tcb.servlet;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** 目的:总结Cookie中常用的方法*/
public class Servlet03Cookie extends HttpServlet {private static final long serialVersionUID = 1L;public Servlet03Cookie() {super();// TODO Auto-generated constructor stub}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//获取Cookierequest.getCookies();//创建和添加CookieCookie cookie=new Cookie("", "");//参数1:参数名 参数2:参数值response.addCookie(cookie);//设置Cookie有效时间和路径cookie.setMaxAge(0);//设置Cookie有效时间,单位是秒 值为0时,表示Cookie失效(默认) cookie.setPath("uri,路径");//设置Cookie路径//获取Cookie的值和名以及当前路径cookie.getName();cookie.getValue();cookie.getPath();}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}
#4.Session
package com.tcb.servlet;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;/*** 目的:总结Session中常用的方法*/
public class Servlet04Session extends HttpServlet {private static final long serialVersionUID = 1L;public Servlet04Session() {super();// TODO Auto-generated constructor stub}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//创建sessionHttpSession session=request.getSession();//给session赋值以及获取值--参数1:参数名 参数2:参数值session.setAttribute("key", "value");session.getAttribute("");//根据传值的名称获取值session.getAttributeNames();//获取session中存的所有值的名称//设置session有效时间,单位秒session.setMaxInactiveInterval(5);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}
【Servlet】Request/Response/Cookie/Session中常用方法相关推荐
- 注意语句顺序 防止Servlet Request Response乱码
今天在项目中.想在控制层,用response来输出中文.发现有乱码. 本来代码是 PrintWriter out = response.getWriter(); response.setContent ...
- JSP中response,session,cookie,application的作用及区别
目录 1.response :响应对象 2.session(服务端) 3.使用Cookie实现 记住用户名 功能 4.session :会话 5.session机制: 6.session: 7.ses ...
- Servlet ---- cookie session
Cookie 属性 和 构造 Cookie的添加 和 获取 记录最后访问时间 @WebServlet(name = "ServletDemo25", value = "/ ...
- 用户登录(记住用户)用户注册(验证码) [运用Cookie Session技术]
需求如下: (相比以前的登陆注册添加的新功能如下框) 一.用户登录:(要求如下图) 用户登录总代码结构如下: User实体类: package com.itheima.pojo;public clas ...
- 大数据WEB阶段(九)Servlet+Request
Servlet与Request 一.概述 Servlet 是sun公司提供的一门用于开发动态web资源的技术 按照这套规范写出来的servlet可以放置在web应用中在servlet容器中运行 . 开 ...
- JavaWeb - Request Response
Request & Response 1,Request和Response的概述 为什么运行项目后默认打开index.html - 是因为 tomcat 配置文件中事先配好了 ==Reques ...
- Struts2中action获取request、response、session的方式
2019独角兽企业重金招聘Python工程师标准>>> 第一种方式,非IoC(Spring中的控制反转)方式: package com.action; import java.uti ...
- Struts2.x中获取request,response,session的方式
Struts2.x中获取request,response,session的方式有两种:非IOC方式和IOC方式: 一:非IOC方式: 要获得request,response,session 这些对象, ...
- 如何使 FlashGet 正常合法 下载 Session 中的自定义文件链接呢? JSP/Servlet 实现!
<% //============================================================================================ ...
最新文章
- qt 一定要指定大小吗 数组_Qt中数组的初始化 | 学步园
- Datagridview 在基于文本的单元格中启用换行,自动调整行高列宽
- bzoj1038 [ZJOI2008]瞭望塔
- apache2 的https配置和代理https后端nodejs配置
- python之路day14--列表生成式、生成器generator、生成器并行
- arm linux gif 显示_100ASK_IMX6ULL arm板子如何显示图片、汉字、划线、背景色
- 第八期:继美商务部拉黑多家中国公司后,MIT开始审查对华AI合作项目
- linux nginx 系统服务,linux 把nginx加入到系统服务的方法
- (转) Arcgis for js之WKT和GEOMETRY的相互转换
- python的装饰器很有用吗_你真的了解python装饰器么
- 不要安全要性能,禁用补丁提高CPU性能
- 勾股定理的html代码,有趣的数学——勾股定理
- 微信小程序商城源码C# 、Asp.Net, Mvc +sqlserver 2012+后台 微信小程序源码C#
- Python 爬虫案例
- 【HDL系列】半减器、全减器和减法器原理和设计
- 用泰勒级数展开证明欧拉公式
- 光功率 博科交换机_交换机是否支持查看光模块型号及收发光功率
- Android Studio 里sync下载慢,怎么办?
- “梧桐杯”中国移动大数据应用创新大赛 - 智慧金融赛道Baseline
- benj™ 100+城市街拍电影人像调色LR预设/移动LR预设/LUT预设效果预览
热门文章
- AB1601串口之bugs
- C++ Primer 5th笔记(chap 16 模板和泛型编程)效率与灵活性
- 01-How to setup SDK and compile TAs
- [How TO]-How to install maven
- [trustzone]-ARM Core的扩展和ELx级别的切换过程
- Android keystore/Keymaster的代码导读
- 用Go语言建立一个简单的区块链part5:地址
- 102. 最佳牛围栏【二分 / 思维 不错】
- Acwing第 17 场周赛【完结】
- 项目: 图书管理系统 【C++ / C】