目录

HttpServletRequest/Response

HttpServletRequest

一些常用类的用法

java 复制代码
package Demo;

import javax.jws.WebService;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;

@WebServlet("/Demo2")
public class Demo2 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf8");
        StringBuilder stringBuilder=new StringBuilder();

        //协议名称和版本
        stringBuilder.append(req.getProtocol());
        stringBuilder.append("<br>");

        //HTTP方法名称
        stringBuilder.append(req.getMethod());
        stringBuilder.append("<br>");

        //协议名称直到HTTP请求第一个查询字符串
        stringBuilder.append(req.getRequestURI());
        stringBuilder.append("<br>");

        //请求上下文的请求URL部分
        stringBuilder.append(req.getContextPath());
        stringBuilder.append("<br>");

        //URL中查询字符串
        stringBuilder.append(req.getQueryString());
        stringBuilder.append("<br>");

        //枚举
        //请求中的所有头名
        Enumeration<String> headerNames=req.getHeaderNames();
        while(headerNames.hasMoreElements()){
            String name=headerNames.nextElement();
            stringBuilder.append(name+": "+req.getHeader(name));
            stringBuilder.append("<br>");
        }

        resp.setContentType("text/html;charset=utf8");
        resp.getWriter().write(stringBuilder.toString());
    }
}

HttpServletPonse

java 复制代码
package Demo;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/Demo3")
public class Demo3 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置响应状态码
        resp.setStatus(200);

        //设置响应的内容类型
        //这两个都是常用的
        //第二个是json类型
        resp.setContentType("text/html;charset=utf8");
//        resp.setContentType("application/json;charset=utf8");

        //告诉浏览器响应的字符集
        resp.setCharacterEncoding("utf8");
        //告诉服务器body中该用utf8字符集解析
//        req.setCharacterEncoding("utf8");
        //这两是不一样的,注意区分

        resp.getWriter().write("往body内写入文本格式数据");

        //强制跳转到指定页面
        resp.sendRedirect("Demo1.html");
    }
}

前端 跳转指定页面

html 复制代码
location.assign('login.html');

常用状态码

1.200 OK:请求成功。客户端请求的资源已成功获取。

2.201 Created:请求已被实现,而且有一个新的资源已经依据请求的需要而建立。

3.202 Accepted:服务器已接受请求,但尚未处理。

4.301 Moved Permanently:请求的资源已永久移动到新位置。

5.302 Found:请求的资源现在临时从不同的URI响应请求。

6.303 See Other:对应当前请求的响应可以在另一个URI上被找到,而且客户端应当采用GET的方式访问那个资源。

7.304 Not Modified:自从上次请求后,请求的网页未修改过。

8.400 Bad Request:服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。

9.401 Unauthorized:请求未授权。

10.403 Forbidden:服务器拒绝请求。

11.404 Not Found:服务器找不到请求的网页。

12.405 Method Not Allowed:请求行中指定的请求方法不能被用于请求相应的资源。

13.406 Not Acceptable:请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。

14.407 Proxy Authentication Required:此状态码与401类似,但指定请求者应当授权使用代理。

15.408 Request Timeout:服务器等候请求时发生超时。

16.409 Conflict:服务器在完成请求的处理时发生冲突。

17.410 Gone:如果请求的资源已永久删除,就可以使用这个状态码。

18.411 Length Required:服务器无法处理客户端发送的不带Content-Length的请求信息。

19.412 Precondition Failed:服务器未满足请求者在请求中设置的其中一个前提条件。

20.413 Request Entity Too Large:服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。

21.414 Request-URI Too Long:请求的URI过长(URI通常为网址),服务器无法处理。

22.415 Unsupported Media Type:服务器无法处理请求附带的媒体格式。

23.416 Requested Range Not Satisfiable:如果请求中包含了Range请求头,并且Range中指定的任何数据范围都与当前资源的可用范围不重合,就返回此状态码。

24.417 Expectation Failed:在请求头Expect中指定的预期内容无法被服务器满足时,就返回这个状态码。

25.500 Internal Server Error:服务器遇到一个未曾预料的状况,导致它无法完成对请求的处理。

26.501 Not Implemented:服务器不支持当前请求所需要的某个功能。

27.502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

28.503 Service Unavailable:由于临时的服务器维护或者过载,服务器当前无法处理请求。

29.504 Gateway Timeout:作为网关或者代理的服务器,未及时从上游服务器接收请求。

30.505 HTTP Version Not Supported:服务器不支持,或者拒绝支持在请求中使用的HTTP版本。

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
bob_young1 天前
gerrit配置及使用git-lfs
git·elasticsearch·servlet
枫super2 天前
Servlet、HTTP与Spring Boot Web全面解析与整合指南
spring boot·后端·http·servlet·java-ee·idea·javase
howard20053 天前
3.1.3.2 Spring Boot使用Servlet组件
spring boot·servlet
珹洺3 天前
Java-servlet(完结篇)过滤器乱码解决与监听器
java·运维·服务器·hive·servlet·jsp
麻芝汤圆5 天前
利用Hadoop MapReduce实现流量统计分析
大数据·开发语言·hadoop·分布式·servlet·mapreduce
麻芝汤圆8 天前
MapReduce 的广泛应用:从数据处理到智能决策
java·开发语言·前端·hadoop·后端·servlet·mapreduce
magic 24513 天前
监听器(Listener)详解
java·servlet·tomcat
珹洺14 天前
Java-servlet(十)使用过滤器,请求调度程序和Servlet线程(附带图谱表格更好对比理解)
java·开发语言·前端·hive·hadoop·servlet·html
星星不打輰15 天前
Servlet案例下载文件,图片验证码
servlet
magic 24516 天前
Servlet与HTTP协议实战解析
java·servlet·intellij-idea