package com.bjsxt.servlet.request;

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 ServeltRequest
*/
@WebServlet("/ServeltRequest")
public class ServeltRequest extends HttpServlet {

@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//请求信息
//请求行(请求方式,资源路径,协议和版本号)
getrequestline(req,resp);
//请求头
//请求实体内容
//获取网络信息
}

private void getrequestline(HttpServletRequest req, HttpServletResponse resp) {
System.out.println("ServeltRequest.getrequestline(获取请求方式):"+req.getMethod());
System.out.println("ServeltRequest.getrequestline(资源路径uri):"+req.getRequestURI());
System.out.println("ServeltRequest.getrequestline(资源路径url):"+req.getRequestURL());
System.out.println("ServeltRequest.getrequestline(协议):"+req.getScheme());
System.out.println("ServeltRequest.getrequestline(版本号)"+req.getProtocol());
System.out.println("ServeltRequest.getrequestline(项目路径)"+req.getContextPath());
System.out.println("ServeltRequest.getrequestline(请求参数)"+req.getQueryString());

}

}

package com.bjsxt.servlet.response;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//HttpServletResponse:包含所有的响应信息,对象由servlet容器创建

public class ServletResponse extends HttpServlet {

@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//响应信息格式
//响应行(响应协议和版本 ,状态吗,状态吗描述)-- 响应行servlet自动处理
//响应头
//设置响应头(同名的响应头会被覆盖)
resp.setHeader("iphone", "iphone7");
resp.setHeader("iphone", "iphone8");
//添加响应头(同名的响应头不会被覆盖)
resp.addHeader("vivo", "vivoX5");
resp.addHeader("vivo", "vivoX6");

//设置浏览器的解码格式
//resp.setHeader("content-type", "text/html;charset=utf-8");
//简单写法
resp.setContentType("text/html;charset=utf-8");

//响应的实体内容
PrintWriter pw = resp.getWriter();
pw.print("<html>");
pw.print("<head>");
pw.print("</head>");
pw.print("<body>");
pw.print("<font style='color:red'>");
pw.print("星期天去西单看美女");
pw.print("</font>");
pw.print("</body>");
pw.print("</html>");
}

}

httpServletResquire 和httpServletResponse的更多相关文章

  1. java web学习总结(八) -------------------HttpServletResponse对象(二)

    一.HttpServletResponse常见应用--生成验证码 1.1.生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类,

  2. java web学习总结(七) -------------------HttpServletResponse对象(一)

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...

  3. HttpServletResponse常用的方法

    所有Servlet响应都实现ServletResponse接口.ServletResponse接口主要有以下方法: (1)从Servlet中可以通过getWriter方法取得PrintWriter对象 ...

  4. JAVAWEB学习总结 HTTPSERVLETRESPONSE对象(二)

    一.HttpServletResponse常见应用--生成验证码 1.1.生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类 步骤: 1. 在内存中创建一张图片 2.得到图片 ...

  5. JAVAWEB学习总结 HttpServletResponse对象(一)

    Web服务器收到客户端(浏览器)的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的response对象. request和response对象既然代表请求和响 ...

  6. HttpServletResponse对象 学习

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...

  7. JavaWeb---总结(七)HttpServletResponse对象(一)

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. request和response对象即然代表请求和响应,那我们 ...

  8. JavaWeb---总结(八)HttpServletResponse对象(二)

    一.HttpServletResponse常见应用--生成验证码 1.1.生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类, 生成随机图片范例: 1 package gacl ...

  9. HttpServletResponse

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...

随机推荐

  1. MySQL之多表查询一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习

    MySQL之多表查询 阅读目录 一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习 一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 首先说一下,我们写项目一般都会建 ...

  2. 淘宝NPM镜像cnpm

    # 安装cnpm命令 npm install -g cnpm --registry=https://registry.npm.taobao.org2.cnpm install

  3. notbook1.1

    1)95年创建java语言 2)1.2版本使java具有了生产能力 3)1.8版本增加 新的API lamda 函数式编程1.9 使之模块化 4)java编程的基本套路 1. 编写源代码2. 编译源程 ...

  4. 使用qemu模拟调试内核和debian根文件系统

      开发环境:Ubuntu 14.04.3 LTS  64bit sudo debootstrap jessie /mnt/jessie http://mirrors.163.com/debian 在 ...

  5. Xcode编译警告Assigning to 'id<XXXDelegat> ——Nullable' from incompatible type 'XXXView *const_strong'

    编译报警告 可能是 自定义分类使用协议时出现与父类协议的冲突 解决方法如下:    

  6. [administrative][archlinux][clonezilla][disk cloning] 一块 windows 10 硬盘的备份

    https://wiki.archlinux.org/index.php/disk_cloning https://wiki.archlinux.org/index.php/full_system_b ...

  7. Flink - InputGate

    初始化 Task List<InputGateDeploymentDescriptor> consumedPartitions = tdd.getInputGates(); // Cons ...

  8. iOS更换科大讯飞的key

    我这个APP使用了科大讯飞的"语音评测"功能,之前使用的是我自己注册的科大讯飞账号,在这个账号里面创建的APP,生成的key. 我们公司有公司的key, 同事说可以多个APP公用一 ...

  9. CAAnimationDelegate 代理方法没调用

    CAAnimationDelegate 代理方法没调用 应该在 addAnimation调用之前设置代理

  10. Delphi maskedit控件的掩码含义及用法方法

    Delphi maskedit控件的掩码含义及用法方法   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 ...