Tomcat、Servlet


        可以自己写错误页<error-page>


服务器软件:如:Tomcat(WEB服务器)        Apache Tomcat® - Welcome!
                        应用服务器实现了JavaEE的所有规范。(JavaEE有13个不同的规范。)
                        WEB服务器只实现了JavaEE中的Servlet + JSP两个核心的规范。
 

广义的API:字节码、源码、帮助文档
Java EE:企业级类库
Java EE规范:13个子规范(如:JDBC、servlet)
Tomcat实现了servlet规范的类,是服务器软件、容器、字节码
B/S与C/S:是服务器计算机还是客户端计算机负责处理数据、存储数据,B/S是特殊的C/S

Brower                      服务器                                Java程序                        数据库(DB Server)
                http协议                        servlet规范                        JDBC规范

  • bin                可执行文件目录                               //xxx.bat文件:可以编写大量的windows的dos命令
    • 开启服务器

                                                   这个类就是main方法所在的类
                因为Tomcat也是Java程序写的,要运行就需要JDK:
                JAVA_HOME=C:\Program Files\Java\jdk-17.0.1
                PATH=%JAVA_HOME%\bin
                        

                启动Tomcat服务器配置:
                CATALINA_HOME=D:\program\apache-tomcat-8.5.75
                path = %CATALINA_HOME%\bin

                启动:startup.bat            关闭shutdown.bat                

  • conf              配置文件目录                                                       //server.xml文件中可以配置端口号,默认Tomcat端口是8080
              //解决Tomcat服务器在DOS命令窗口中的乱码问题:CATALINA_HOME/conf/logging.properties文件中的内容修改--->java.util.logging.ConsoleHandler.encoding = GBK
               //web.xml里有个servlet描述信息----名default  类DefaultServlet,他的mapping是/:所有web应用默认的servlet-----1)提供静态服务资源          2)处理所有未映射的请求的请求处理  
                   
  • lib                 Tomcat核心程序目录 ,是Java语言编写的,jar包里面都是class文件 (所以没有配置JAVA_HOME运行不了)
  • logs             日志
  • temp            临时文件夹
  • webapps     部署空间
    • ​​​​​该项目名的路径就是项目的根
      • classes :自己写的编译之后的Java字节码程序、lib:webapp需要第三方的jar包 ,如MySQL驱动
        ​​​​​                                                                                                web.xml配置文件中描述了请求路径和Servlet类之间的对照关系。,该文=文件用maven创建工程后自动生成

  • work            项目工作目录(JSP 文件翻译之后的Java文件以及编译之后的class文件)

访问:

一个端口代表一个软件


​​​

 编写Java程序:

  1. 编写自己的类,一般格式为xxxServlet。必须实现Servlet接口       
    1. 这个Servlet接口不在JDK当中 ,Servlet不是JavaSE了。Servlet属于JavaEE,是另外的一套类库
    2. Tomcat服务器实现了Servlet规范,所以Tomcat服务器中应该有这个接口:lib目录下有一个servlet-api.jar,解压后有一个Servlet.class文件
    3. 从JakartaEE9开始(Tomcat10),Servlet接口的全名变了:jakarta.servlet.Servlet            //之前是javax.servlet.Servlet
    4. 编写这个Java小程序源代码编译之后的class文件放到classes目录下
    5. 怎么让你的Java小程序编译通过呢?-------配置环境变量CLASSPATH           CLASSPATH=.;C:\dev\apache-tomcat-10.0.12\lib\servlet-api.jar
  2. 在web.xml文件中编写配置信息,让“请求路径”和“Servlet类名”关联在一起
    <?xml version="1.0" encoding="UTF-8"?>
    
    <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
                          https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
      version="5.0"
      metadata-complete="true">
    
    	<!--servlet描述信息-->
    	<!--任何一个servlet都对应一个servlet-mapping -->
    	<servlet>
            <load-on-startup>1</load-on-startup>   在该子标签中填写整数,越小的整数优先级越高
    		<servlet-name>fdsafdsagfdsafdsa</servlet-name>
    		<!--这个位置必须是带有包名的全限定类名-->
    		<servlet-class>com.bjpowernode.servlet.HelloServlet</servlet-class>
             <!--Servlet对象配置信息-->
            <init-param> 
               <param-name>名</param-name> 
               <param-value>值</param-value> 
            </init-param>
            <init-param> 
               <param-name>foo</param-name> 
               <param-value>bar</param-value> 
           </init-param>
    	</servlet>
    
    	<!--servlet映射信息-->
    	<servlet-mapping>
    		<!--这个也是随便的,不过这里写的内容要和上面的一样。-->
    		<servlet-name>fdsafdsagfdsafdsa</servlet-name>
    		<!--这里需要一个路径-->
    		<!--这个路径唯一的要求是必须以 / 开始-->
    		<!--当前这个路径可以随便写,当访问该路径是就调用对应小程序-->
    		<url-pattern>/资源/fd/saf/d/sa/fd/sa/fd</url-pattern>     //就是classes下的类路径
            <url-pattern>/*</url-pattern>                       //灵活运用*通配符
    	</servlet-mapping>
    	
    
        <!--应用级的配置信息-->
        <context-param>
            <param-name>名</param-name>
            <param-value>值</param-value>
        </context-param>
        <context-param>
            <param-name>startIndex</param-name>
            <param-value>0</param-value>
        </context-param>
    
        <!--配置欢迎页    路径默认是从webapp的根下开始查找,不要以“/”开始-->
        <welcome-file-list>
            <welcome-file>xxx1.html</welcome-file>
            <welcome-file>xxx2.html</welcome-file>
        </welcome-file-list>
    
        <!--session时间配置:超时机制-->
        <session-config>
            <session-timeout>分钟数值</session-timeout>
        </session-config>
    </web-app>
    
  3. html页面等只能放到WEB-INF目录外面
  4. 启动Tomcat服务器,浏览器地址栏上输入一个url
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值