Tomcat
- B/S结构
- IP:电子设备**(计算机**)在网络中的唯一标识。
- 端口:应用程序在计算机中的唯一标识。 0~65536
- 传输协议:规定了数据传输的规则
传输协议 - tcp:安全协议,三次握手。 速度稍慢
- udp:不安全协议。 速度快
web服务器软件
- 通过部署web项目,让用户通过浏览器来访问项目
- 动态资源必须在web软件中运行
- 软件有Tomcat
TOMCAT的使用
tomcat目录结构
- 启动,双击运行bin文件夹里的startup.bat文件
- 访问,自己http://localhost:8080,别人http://别人的ip:8080
启动报错的解决方案
- 找到占用的端口号,并找到对应的进程,杀死进程
- 修改自身的端口号
- 一般修改为80,在访问时不用输入端口号
关闭
- ctrl+c
配置
- 把配置文件放进Webapps里面
- 将项目打成一个war包,war包放进Webapps里面,它会自动解压
- 配置conf/server.xml文件,访问时,项目/虚拟目录/xxx.html
- 在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写,访问时,localhost/xxx(xml)/xxx.html
将Tomcat集成到IDEA中
目录
- 动态项目:
WEB-INF目录: - web.xml:web项目的核心配置文件
- classes目录:放置字节码文件的目录
- lib目录:放置依赖的jar包
servlet
- server applet
- servlet是一个接口,定义了一个标准的JAVA类,tomcat想运行.class,需要是标准类
- 定义一个类实现servlet类接口
实现servlet类接口
@WebServlet("/demo2")
public class ServletDemo implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Servlet3.0来了.....");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
在web.xml中配置 路径
<!--配置Servlet -->
<servlet>
<servlet-name>demo1</servlet-name>
<servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>demo1</servlet-name>
<url-pattern>/demo1</url-pattern>
</servlet-mapping>
原理
- 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
- 查找web.xml文件,是否有对应的标签体内容。
- 如果有,则在找到对应的全类名
- tomcat会将字节码文件加载进内存,并且创建其对象
- 调用其方法
servlet的方法
1.Servlet的init方法,只执行一次
2. 提供服务:执行service方法,执行多次
3. 被销毁:执行destroy方法,只执行一次
使用注解配置
1. 创建JavaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml
2. 定义一个类,实现Servlet接口
3. 复写方法
4. 在类上使用@WebServlet注解,进行配置
* @WebServlet("资源路径")
使用HTTPServerlet复写