Day39_Tomcat&Servlet

Posted 黑盒思考

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day39_Tomcat&Servlet相关的知识,希望对你有一定的参考价值。

《Java自学180天笔记》

Tomcat目录结构


配置Tomcat

部署项目的方式

1.直接将项目放到webapps目录下即可

/hello:项目的访问路径-->虚拟目录
简化部署:将项目打成一个war包,再将war包放置到webapps目录下。

            war包会自动解压缩

2.配置conf/server.xml文件

在<Host>标签体中配置
<Context docBase= "D:\hello" path="/hehe" />
docBase:项目存放的路径
path:虚拟目录

3.在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写

<Context docBase="D:\hello" />

虚拟目录:xml文件的名称

Servlet_概述

server applet:运行在服务端的小程序

Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。
将来我们自定义一个类,实现Servlet接口,复写方法。

Servlet_快速入门

新建ServletDemo1类

package cn.itcast.web.servlet;
import javax.servlet.*;import java.io.IOException;
public class ServletDemo1 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("hello,servlet"); }
@Override public String getServletInfo() { return null; }
@Override public void destroy() {
}}

配置web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">  <!--配置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></web-app>

输出结果

hello,servlet

Servlet_执行原理

Servlet_3.0注解配置

好处

支持注解配置。可以不需要web.xml了。

步骤

1.创建JaveEE项目,选择Servlet的版本3.0以上,可以不创建web.xml
2.定义一个类,实现Servlet接口
3.复写方法
4.在类上使用@Webservlet注解,进行配置
    @WebServlet("资源路径")

IDEA与tomcat的相关配置

1. IDEA会为每一个tomcat部署的项目单独建立一份配置文件

* 查看控制台的log:Using CATALINA_BASE:

"C:\Users\fqy\.IntelliJIdea2018.1\system\tomcat\_itcast"

2. 工作空间项目 和 tomcat部署的web项目

* tomcat真正访问的是“tomcat部署的web项目”,"tomcat部署的web项目"对应着"工作空间项目" 的web目录下的所有资源
* WEB-INF目录下的资源不能被浏览器直接访问。

3. 断点调试:使用"小虫子"启动 dubug 启动

以上是关于Day39_Tomcat&Servlet的主要内容,如果未能解决你的问题,请参考以下文章

Day670.Servlet规范&Servlet容器 -深入拆解 Tomcat & Jetty

Day693.Tomcat如何实现Servlet规范 -深入拆解 Tomcat & Jetty

Day694.Tomcat如何支持异步Servlet -深入拆解 Tomcat & Jetty

Day673.Tomcat系统架构(容器) -深入拆解 Tomcat & Jetty

佩特来项目经验小集合___组合查询存储过程,报错 &quot;varchar JBID=&#39;&#39; 转换成数据类型 int 时失败&quot;(示例代(代码

Day676.Jetty架构之Connector组件 -深入拆解 Tomcat & Jetty