Servlet 入门—常用API 总结

前面的学习已经或多或少都接触到了一些 API, 今天会额外介绍些之前文章没有用到而日常开发中可能会用到的一些 API。话不多说,直接干:

代码实操

@WebServlet(urlPatterns = {"/request"})
public class RequestServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //  web/img/lyf.jpeg 实际目录 E:\IdeaProjects\ServletDemo\out\artifacts\ServletDemo_war_exploded\img\lyf.jpeg
        String realPath = getServletContext().getRealPath("/img/lyf.jpeg");
        System.out.println(realPath);

        // 获取上下文  context: /ServletDemo_war_exploded
        String contextPath = getServletContext().getContextPath();
        System.out.println("context: " + contextPath);

        // URI: /ServletDemo_war_exploded/request
        String requestURI = req.getRequestURI();
        System.out.println("URI: " + requestURI);

        //URL: http://localhost:8080/ServletDemo_war_exploded/request
        StringBuffer requestURL = req.getRequestURL();
        System.out.println("URL: " + requestURL);

        // Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36
        String userAgent = req.getHeader("user-agent");
        System.out.println(userAgent);

        // localhost
        String serverName = req.getServerName();
        System.out.println(serverName);

        // HTTP/1.1
        String protocol = req.getProtocol();
        System.out.println(protocol);

        // GET
        String method = req.getMethod();
        System.out.println(method);



    }
}

代码中主要罗列了 request 对象的相关 API , 比如获取参数、获取服务器信息、获取协议、获取请求头、获取应用上下文等等。我这里只是抛砖引玉,大家可以通过 servlet 文档或者IDE的代码提示尝试其他的 API。不要怕麻烦,多敲才会有感觉。

关于应用上下文 contextPath, 大家可以简单理解成一个应用部署在服务器上后的根路径,与应用一 一对应, 首次部署的时候支持手动设定:

 恭喜你完成今天的课程,每天10 分钟,学的轻松,学的开心~


 如果觉得还不错的话,关注、分享、在看(关注不失联~), 原创不易,且看且珍惜~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【非典型Coder】

赏个鸡腿吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值