资源分类C/S(Client Server)客户端&服务端
特点:使用必须安装客户端
B/S:(Browser Server) 浏览器&服务器
特点:可移植性强
-
静态资源:用户访问得到的结果一致(HTML、CSS、图片)
-
动态资源:用户访问结果可能不一致(JSP、PHP)
TOMCAT配置浏览器不能打开动态资源,只能直接访问静态资源。
如果访问动态资源,要通过WEB服务器将动态资源转为静态资源
官网:Apache Tomcat® - Welcome!/
基本使用
1、安装:解压即可
2、目录介绍
3、开启tomcat
4、配置:
配置端口:(conf / server.xml)- 第69行
port值统一改为80(HTTP协议默认的端口是80)
常见问题:启动startup.bat一闪而过
原因:没有正确配置JAVA_HOME
Eclipse集成TOMCAT
1、在other中搜索server
2、添加tomcat(对应Tomcat版本)
WEB项目 创建web项目webcontent内创建HTML文件
Insert title here
hello web
项目部署
将需要部署的项目放在tomcat中(放在右边)
右键服务器---start--启动服务器
访问项目
WEB项目基于HTTP协议的:http://IP地址:端口/项目名/资源路径
Servlet创建Servlet本质就是一套接口,规定Java类能被Web服务器所识别的规范。我们编写WEB应用必须实现Servlet接口。
1、创建WEB项目
2、自定义类实现Servlet接口
public class MyFristServlet implements Servlet{
@Override
public void destroy() {}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException {}
@Override // 用于处理请求
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
System.out.println("service被调用");
}
}
3、配置Servlet(web.xml)
hello com.xxx.controller.MyFristServlet hello /hello
4、访问页面地址,启动WEB服务器
执行原理http://localhost/01-web-hello/hello
1、tomcat启动时,扫描部署项目
2、扫描到WEB项目,会读取配置文件,根据配置文件做操作
hello com.xxx.controller.MyFristServlet
3、根据上面配置自动创建对应class的对象
hello /hello
4、根据上述配置规定对象的访问路径为/hello
5、浏览器输入:http://localhost/01-web-hello/hello
通过http://localost:80 找到当前机器的tomcat
通过 01-web-hello 找到对应项目
通过/hello 找到自动创建的hello对象
6、tomcat会自动调用该对象的service方法对请求进行处理
servlet的生命周期对象初始化(创建)
servlet被第一次访问时创建对象(默认,且一个servlet对象只创建一次)
可通过配置改变创建时机
hello com.woniuxy.controller.MyFristServlet 5
tomcat自动调用init方法
@Override
public void init(ServletConfig arg0) throws ServletException {
System.out.println("产生Servlet对象会调用");
}
ServletConfig对象说明
作用:存储servlet对象的配置信息
使用:配置servlet时通过
hello com.woniuxy.controller.MyFristServlet test testvalue 5
一旦配置,servlet对象在创建时会扫描init-param将其中K-V键值对传给init方法,通过该对象获取初始化值
// 查看value值
servletConfig.getInitParameter("test");
使用servlet
调用service方法(tomcat自动调用)
销毁servlet
servlet(注解版)调用destory方法(tomcat关闭时自动调用)完成清除对象
//配置访问路径
@WebServlet("/test")
public class TestServlet implements Servlet{}
路径配置
| 注解 | 作用 |
|---|---|
| @WebServlet("/test") | 精准路径 |
| @WebServlet("*.do") | 拦截后缀 |
| @WebServlet("/user/*") | 拦截文件夹 |
根据HTTP协议对Servlet接口做的一层实现,重写doget和dopost方法,根据不同的请求方式转到不同的方法上
@WebServlet("/test")
public class MyHttpServlet extends HttpServlet{
@Override //get方法
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {}
@Override //post方法
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {}
}


