JavaWeb之【Servlet开发步骤】

本文详细介绍了Servlet规范在Web应用程序开发中的要求,包括webapp的目录结构、配置文件web.xml的创建以及Servlet接口的实现。通过实例演示了从创建项目目录到配置Servlet,再到启动Tomcat服务器的完整步骤。强调了JavaEE版本变迁对包名的影响,并提醒开发者注意不同版本的兼容性问题。
摘要由CSDN通过智能技术生成

一、概述

1、Servlet规范中规定:

(1)一个合格的webapp应该是一个固定的目录结构

(2)一个合格的webapp的配置文件位置固定

(3)一个合格的webapp的配置文件名固定

(4)一个合格的webapp中java程序存放位置固定

二、开发一个带有Servlet的webapp

1、开发步骤

(1)第一步:在webapps目录下新建一个目录,起名crm(这个crm就是webapp的名字)

注意:起这只是项目名,但crm就是这个webapp的根

(2)第二步:在crm目录下(webapp的根下)新建一个目录:WEB-INF

注意:这个名字是Servlet规范中规定的,必须全部大写,必须一模一样!

(3)第三步:在WEB-INF目录下新建一个目录:classes

注意:这个名字是Servlet规范中规定的,必须全部大写,必须一模一样!,这里存放的是字节码文件

(4)第四步:在WEB-INF目录下新建一个目录:lib

注意:(1)这个目录不是必须的,但是一个webapp中需要第三方的jar包时,这个jar包必须放在这个目录下。

(2)名字必须一模一样,Servlet规范规定!

(5)第五步:在WEB-INF目录下新建一个文件:web.xml

注意:

(1)这个文件是必须的,这个文件名必须叫做web.xml。一个合法有效的webapp,web.xml文件时必须的。

(2)web.xml是一个配置文件,在这个配置文件中描述了请求路径和Servlet类之间的对照关系

(3)web.xml最好从已有的webapp中拷贝,最好别手写。

所需代码如下:

<?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">


</web-app>

(6)第六步:编写一个java程序

注意:

(1)这个java程序也不能随意编写,这个java程序必须实现Servlet接口!

(2)Servlet接口不在JDK中,应为Servlet属于JavaEE,是另一套类库。

(3)Tomcat服务器遵循Servlet规范,所以Tomcat服务器中有这个接口,在C:\dev\apache-tomcat-10.0.20\lib目录下

(4)java源代码的位置可以任意,但是编译之后生成的字节码文件必须在classes中

(7)第七步:编译Java程序

注意:

(1)配置Path环境变量:C:\dev\apache-tomcat-10.0.20\lib\servlet-api.jar【如果不配置,导包会报错,找不到对应包名】

(8)第八步:将以上编译好的字节码文件放入classes目录中

(9)第九步:在web.xml文件中编写配置信息,让“请求路径”和“Servlet类名”关联。

注:

(1)这一步的专业术语描述:在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>

      <servlet-name>hello</servlet-name>

      <!--这个位置必须是带有包名的全限定类名-->
      <servlet-class>com.mytest.servlet.HelloServlet</servlet-class>

  </servlet>

  <!--servlet映射信息-->
  <servlet-mapping>

      <!--这里随意填写,但是名字必须与上方相同-->
      <servlet-name>hello</servlet-name>

      <!-这里需要一个路径,必须以/开始,可以随便写-->
      <url-pattern>/sdafs/sada/ds</url-pattern>

  </servlet-mapping>
</web-app>

(10)第十步:启动Tomcat服务器

(11)第十一步:打开浏览器,在这个浏览器地址栏上输入RUL

注意:

(1)这个URL的请求路径必须是和web.xml文件中的url-pattern一致

(2)浏览器上的请求路径和web.xml文件中的url-pattern唯一区别:浏览器上的请求路径带项目名(crm)

(12)第十二步(非必须):浏览器上编写的路径太复杂,可以使用超链接

注意:

(1)html页面只能放到WEB-INF目录外面

(13)注意:Tomcat服务器负责调用main方法,Tomcat启动时执行的就是main方法,我们只需要编写Servlet接口的实现类,然后注册到web.xml中即可。

三、关于JavaEE的版本(了解即可)

1、JavaEE目前最高版本是JavaEE8,但是JavaEE被Oracle捐献给Apache了。而Apache把JavaEE换名了,新名字叫做Jakarta EE。

2、JavaEE8升级之后的“JavaEE9”,不再是JavaEE9了,而是JakartaEE9。

3、JavaEE8之前对应的包名是:javax.servlet.Servlet

4、JakartaEE9对应的包名是:jakarta.servlet.Servlet

5、老项目如果还是使用javax.servlet.Servlet,那么这个项目就不能直接部署到Tomcat10+版本上,只能部署到Tomcat9-版本上。因为包名不一样,找不到了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值