web项目总结(含有Servlet)

本文总结了Web项目的目录结构、打包和发布流程,并详细探讨了Servlet的核心概念,包括其生命周期方法、ServletConfig配置以及映射配置。通过实例解析,阐述了Servlet在Web应用中的工作原理,帮助读者深化对Servlet的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Web项目的目录结构

每一个Web项目,必须要有如下目录结构

Web项目的打包和发布

打包项目

 在idea中往tomcat上发布

 

Servlet的小结

Servlet是运行的服务器上的Java程序,专门用来处理请求和响应的。 Servlet本质上是接口,该接口中定义了一些抽象方法(生命周期方法)。 我们想写一个运行在服务器上的程序,就必须实现Servlet接口,复写所有的抽象方法。

Servlet生命周期方法解释

 Servlet体系结构

 每次写一个Servlet都要复写生命周期的所有方法,比较麻烦。 Servlet提供了一个实现类GenericServlet,它把其他方法已经复习了,我们继承GenericServlet只需要复写service就可以了。

 HttpServlet类

如果每次都是继承GenericServlet类,在servlce方法中,不能区分直接是Get请求还是Post请求。需要我们自己求请求方法进行处理,也比较麻烦,所以又提供了一个子类HttpServlet类。

HttpServlet类中会根据不同的请求方式,提供不同的方法,我们只需要复写对应的方法即可。

 

Servlet映射配置

Servlet是Web项目中的动态资源(Servlet字节码),访问过程如下

第一步:通过浏览器的ip地址找服务端主机

第二步:通过8080端口号找到tomcat服务器软件

第三步:通过虚拟机路径找到tomcat服务器上发布的web项目包

第四步:通过web.xml<url-pattern>找到Servlet对应的字节码

第五步:Tomcat会根据Servlet的字节码,自动的执行servcie方法

 注意:每一个Servlet都需要有一个下面的配置,否则会找不到资源

<servlet>
    <servlet-name>ServletDemo1</servlet-name>
    <servlet-class>com.itheima.servlet.ServletDemo1</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>ServletDemo1</servlet-name>
    <url-pattern>/servletDemo1</url-pattern>
</servlet-mapping>

同一个Servlet多映射处理

<!--前面必须是servletDemo1,后面是什么无所谓-->
<url-pattern>/servletDemo1/*</url-pattern>


<!--前面是什么无索引,访问路径的后缀必须是.do-->
<url-pattern>*.do</url-pattern>

Servlet的加载时机

每个Servlet默认是在第一次访问的时候被创建,但是也可以通过web.xml配置让其在服务器启动的时候创建。 配置如下

 <servlet>
        <servlet-name>ServletDemo1</servlet-name>
        <servlet-class>com.itheima.servlet.ServletDemo1</servlet-class>
       	<!--数字越小,优先级越高-->
     	<load-on-startup>1</load-on-startup>
</servlet>

ServletConfig类

每一个Servlet都对应有一个ServletConfig配置对象,可以在Servlet创建时去初始化一些参数。

web.xml中配置方式如下

<!--配置ServletConfigDemo访问路径-->
<servlet>
    <servlet-name>ServletConfigDemo</servlet-name>
    <servlet-class>com.itheima.servletconfig.ServletConfigDemo</servlet-class>
	
    <!--每一个init-param标签,就表示一个键值对-->
    <init-param>
        <param-name>charset</param-name>
        <param-value>utf-8</param-value>
    </init-param>

    <init-param>
        <param-name>desc</param-name>
        <param-value>我是一个ServletConfig的描述信息</param-value>
    </init-param>

</servlet>

可以在Servlet类去获取ServletConfig对象,通过它的方法获取配置参数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值