各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你:
JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等
Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等
JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议, Tomcat, Servlet, Linux, JVM等(正在持续更新)
提示:是正在努力进步的小菜鸟一只,如有大佬发现文章欠佳之处欢迎批评指点~ 废话不多说,直接上干货!
Maven 是当前主流的构建工具, 可以提供构建, 测试, 打包一个完整的项目
2, 需要在 pom.xml 文件中引入 Servlet 的 API, 点击 https://mvnrepository.com/ --> 索 servlet --> Java Servlet API --> 找到3.1.0
版本 --> 拷贝如下内容
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<version>3.1.0version>
<scope>providedscope>
dependency>
我使用的 Tomcat 是 8.5.x 版本, Servlet API 要使用与之对应的 3.1.0 版本, 参照https://tomcat.apache.org/whichversion.html 查询版本对应关系
创建 Maven 项目之后就自带了一些目录结构, 但这些不够, 我们还需要 :
DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Applicationdisplay-name>
web-app>
完整代码 :
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("/hello")
public class Hello extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("hello world");
resp.getWriter().write("hello world");
}
}
我们需要把所有的源代码打包成一个 .war 格式的压缩包, 所以要先在 pom.xml 中配置一下打包格式
和打包之后的包名
默认打包之后是 jar 包, jar包和 war 包的区别如下:
jar 包是普通的 java 程序打包的结果. 里面会包含一些 .class 文件
war 包是 java web 的程序, 里面除了会包含 .class 文件之外, 还会包含 HTML, CSS, JavaScript, 图片, 以及其他的 jar 包. 打成 war 包格式才能被 Tomcat 识别
在浏览器地址栏中输入 : http://127.0.0.1:8080/firstServlet/hello
即可 :
同时 Tomcat 也会输出 helloword :
在地址栏输入的 URL 是有讲究的 :
1, 8080 是 Tomcat 的端口号(业务端口)
2, firstServlet 是 war 包名, 作为 Context Path, 用来标识哪一个 webapp
3, hello 是@WebServlet 注解中的参数, 作为 ServletPath, 用来标识要调用哪一个类的方法
以上就是本篇的全部内容, 主要介绍了如何 构造HTTP 协议的请求
如果本篇对你有帮助,请点赞收藏支持一下,小手一抖就是对作者莫大的鼓励啦~
上山总比下山辛苦
下篇文章见