不会就先模仿
---webapps:Tomcat服务器的web目录
--ROOT
--TEST:网站的目录名
-WEB-INF
-classes:java程序
-lib:web应用所依赖的jar包
-web.xml:网站配置文件
-index.html:默认的首页
-static
-css
-style.css
-js
-img
-……
把实现了Servlet接口的Java程序叫做Servlet
Servlet有两个默认的实现类:HttpServlet,GenericServlet
构建一个Maven项目,删掉里面的src目录,在项目里建立Module,这个空的工程就是Maven主工程
关于Maven项目父子工程的理解
父项目中会有
<modules>
<module>test01</module>
</modules>
子项目中会有
<parent>
<artifactid>Servlet</artifactid>
<groupid>com.test</groupid>
<version>1.0-SNAPSHOT</version>
</parent>
Maven环境优化
编写一个Servlet程序
package com.test.servlet;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class HelloServlet extends HttpServlet {
//由于get或者post只是请求实现的不同的方式,可以相互调用,业务逻辑都一样
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//ServletOutputStream outputStream=resp.getOutputStream();
PrintWriter writer = resp.getWriter();//响应流
writer.print("Hello,Servlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
编写Servlet的映射
<!--注册Servlet-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.test.servlet.HelloServlet</servlet-class>
</servlet>
<!--Servlet的请求路径-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>hello</url-pattern>
</servlet-mapping>
配置Tomcat
启动测试
客户端——发请求(Request)——服务器
百度:
Request URL: https://www.baidu.com/ 请求地址
Request Method: GET //get方法/post方法
Status Code: 200 OK //状态码:200
Remote Address: 183.232.231.174:443 //远程地址
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9 //语言
Connection: keep-alive
Accept:告诉浏览器所支持的数据类型
Accept-Encoding:支持的编码格式 GBK UTF-8 GB2312
Accept-Language:语言环境
Cache-Control:缓存控制
Connection: 请求完成后的连接情况
HOST:主机……/.
服务器——响应——客户端
百度:
Cache-Control: private //缓存控制Connection: keep-alive //连接Content-Encoding: gzip //编码Content-Type: text/html;charset=utf-8 //类型
Accept:告诉浏览器所支持的数据类型Accept-Encoding:支持的编码格式 GBK UTF-8 GB2312Accept-Language:语言环境Cache-Control:缓存控制Connection: 请求完成后的连接情况HOST:主机……/.Refresh:刷新频率Location:网页重新定位
原文:https://www.cnblogs.com/godisagirl/p/15142304.html