1.IDEA会为每一个tomcat部署的项目单独建立一份配置文件
- 查看控制台的log:Using CATALINA_BASE: "C:\Users\Eric.IntelliJIdea2019.3\system\tomcat_Java9_web_codespace"
2.工作空间项目 和 tomcat部署的web项目 - tomcat真正访问的是“tomcat部署的web项目”,"tomcat部署的web项目"对应着"工作空间项目" 的web目录下的所有资源
- WEB-INF目录下的资源不能被浏览器直接访问。
3.断点调试:使用"小虫子"启动 dubug 启动
Servlet:
1.概念
2.步骤
3.执行原理
4.生命周期
5.Servlet3.0 注解配置
6.Servlet的体系结构
Servlet -- 接口
|
GenericServlet -- 抽象类
|
HttpServlet -- 抽象类
- GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象, 将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可
- HttpServlet:对http协议的一种封装,简化操作, 使用步骤 1、定义类继承HttpServlet,2、复写doGet/doPost方法
HTTP:
概念:Hyper Text Transfer Protocol 超文本传输协议
传输协议:定义了,客户端和服务器端通信时,发送数据的格式
特点:
基于TCP/IP的高级协议
默认端口号:80
基于请求/响应模型的:一次请求对应一次响应
无状态的:每次请求之间相互独立,不能交互数据
历史版本:1.0:每一次请求响应都会建立新的连接
1.1:复用连接
请求消息数据格式
请求行
请求方式 请求url 请求协议/版本
GET /login.html HTTP/1.1
请求方式:
HTTP协议有7中请求方式,常用的有2种
GET:
请求参数在请求行中,在url后。
请求的url长度有限制的
不太安全
POST:
请求参数在请求体中
请求的url长度没有限制的
相对安全
Request
1.request对象和response对象的原理
request和response对象是由服务器创建的。我们来使用它们
request对象是来获取请求消息,response对象是来设置响应消息
2. request对象继承体系结构:
ServletRequest -- 接口
| 继承
HttpServletRequest -- 接口
Request的基本请求
路径:http://localhost/xiaojuan/D1?reason=aini
// 1.获取请求方式: GET
String method = req.getMethod();
System.out.println("method:" +method);
// 2 获取虚拟目录
String contextPath = req.getContextPath();
System.out.println("contextPath:" +contextPath);
// 3.获取servlet路径
String servletPath = req.getServletPath();
System.out.println("servletPath:" +servletPath);
// 4. 获取get方式的请求参数
String queryString = req.getQueryString();
System.out.println("queryString:" +queryString);
// 5. 获取 URI
String requestURI = req.getRequestURI();
System.out.println("requestURI:" +requestURI);
//6.获取URL
StringBuffer requestURL = req.getRequestURL();
System.out.println("requestURL:" +requestURL);
// 7.. 获取协议版本
String protocol = req.getProtocol();
System.out.println("protocol:" +protocol);
// 8..获取客户机iP地址 0:0:0:0:0:0:0:1
String remoteAddr = req.getRemoteAddr();
System.out.println("remoteAddr" + remoteAddr);
