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. ubuntu下pig报错ERROR 2999: Unexpected internal error. Failed to create DataStorage的解决

    2019-03-04 00:10:03,998 [main] ERROR org.apache.pig.Main - ERROR 2999: Unexpected internal error. Fa ...

  2. arcengine直连sde

    搞了半天,找了好多资料,实验好多次,终于解决.参考资料:http://www.cnblogs.com/gaxin/p/5777864.html

  3. sql 一对多查询

    1. 一对多查询 查询departmentinfo字典下所有部门的人员数量 select * from departmentinfo a left join (select count(*) User ...

  4. [daily][pcaman] pacman滚动升级跳过指定包

    有时候有些包是坏的,  我们在Syu的时候,想把它跳过去. 可以在pacman.conf 中使用如下选项: IgnorePkg=linux https://wiki.archlinux.org/ind ...

  5. [CentOS7][ssh][publickey][troubleshoot] 通过密钥登录ssh故障排查

    通常情况下,我会使用非对称加密的方式来进行ssh的登录. 做法: 将公钥添加到 $HOME/.ssh/authorized_keys 文件中. 但是通常,会遇见各种各样的问题,导致失败.汇总如下: 0 ...

  6. 函数datetime

    datetime import datetime.datetime print(datetime.now()) #2019-03-20 11:35:25.(471359)毫秒 # 时间对象 f = d ...

  7. nodejs 学习三 异步和同步

    同步函数 for (let i = 0; i < 10; i ++) { setTimeout(() => { console.log(`${i} ______ ${new Date}`) ...

  8. Web前端性能优化策略

    前端性能优化需要从前端的资源类型分析,以减少请求资源和请求时间为目的.目前的类型包括图片.javascript.css.动态数据等,不同的资源对于运算.带宽等的依赖也不同,因此优化的方式也不同.参照以 ...

  9. 【JMeter】【性能测试】服务器性能监控

    下载插件 1.访问网址http://jmeter-plugins.org/downloads/all/,下载三个文件.其中JMeterPlugins-Standard和JMeterPlugins-Ex ...

  10. h5 中的 section 标签

    转自 http://www.studyofnet.com/news/331.html 本文导读:<section> 标签定义文档中的节(section.区段).比如章节.页眉.页脚或文档中 ...