您当前的位置: 首页 >  servlet

liaowenxiong

暂无认证

  • 3浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

如何开发 Servlet 程序

liaowenxiong 发布时间:2021-01-21 17:45:33 ,浏览量:3

文章目录
  • 如何开发 Servlet
    • 步骤 1:写一个类
    • 步骤 2:编译
    • 步骤 3:打包
    • 步骤 4:部署
    • 步骤 5:启动服务器
    • 步骤 6:访问 servlet
  • Servlet 开发示例
    • 不使用 IDE 开发(手动编译和部署)
      • 步骤 1:导入需要的 jar 包
      • 步骤 2:写一个 Java 类
      • 步骤 3:编译
      • 步骤 4:打包
      • 步骤 5:部署
      • 步骤 6:启动服务器,访问 servlet
    • 使用 IDE 开发
      • 步骤 1:新建 Web Project(Web 工程)
      • 步骤 2:填写“Project Name”
      • 步骤 3:新建一个 Java 类
      • 步骤 4:新建 web.xml
      • 步骤 5:部署项目到 tomcat 服务器
      • 步骤 6:访问 tomcat 服务器上的 Servlet 实例
    • 自动部署说明
    • Source folder
  • Servlet 优化重构

如何开发 Servlet 步骤 1:写一个类

此类实现 Servlet 接口或者继承自 HttpServlet 抽象类,需要重写 service 方法,该方法无返回值。这个方法需要 2 个参数,一个是 HttpServletRequest 对象,一个是 HttpServletResponse 对象,这两个对象会由 Tomcat 自动生成,方法内执行的主要任务是从 request 对象获得参数等数据,并访问有关数据库,然后将结果写入 response 中,容器(Tomcat)会从 response 中获得数据并传送给浏览器。

注:servlet 只能使用 java 语言来编写

步骤 2:编译

使用 IDE 编译或者终端命令编译源码文件

[root@linux ~]# javac -cp Servlet-api.jar -d . HelloServlet.java

命令说明: HelloServlet.java 编译后的 .class 文件存放在当前目录下,且编译中需要的类文件,编译器可以在 Servlet-api.jar 中查找,该jar文件存放在 HelloServlet.java 所在目录下。

步骤 3:打包

建立一个如下的目录结构

-- appname
   -- WEB-INF
      -- classes     存放 .class 文件
      -- lib         存放 .jar 文件,该目录可选
      -- web.xml     部署描述文件

注:该目录结构可以使用 jar 命令打成一个.war 为后缀的文件

步骤 4:部署

将第三步的整个目录结构或者是对应的.war 文件拷贝到服务器特定的目录

步骤 5:启动服务器 步骤 6:访问 servlet

http://ip:port/appname/servlet 的 url-pattern 配置

Servlet 开发示例 不使用 IDE 开发(手动编译和部署) 步骤 1:导入需要的 jar 包

在 D:\ 盘新建 work 目录将 tomcat 目录 common\lib 下的 servlet-api.jar 拷贝到 work 目录下

在这里插入图片描述

在这里插入图片描述

步骤 2:写一个 Java 类

使用编辑器写一个 java 类 HelloServlet.java(编译这个类需要 servlet-api.jar 包)

在这里插入图片描述 目录结构: 在这里插入图片描述

步骤 3:编译

编译 HelloServlet.java

  1. 启动终端

在这里插入图片描述 2) 进入 d:盘 work 目录,编译 HelloServlet.java 在这里插入图片描述

编译命令参数含义:

  1. -cp 表示告诉 Java 编译器去哪里找需要的 class 文件(到 servlet-api.jar 的 jar 包中找)
  2. -d . 表示将编译生成的字节码文件放入当前文件夹下

目录结构(在当前目录下生成编译好的字节码文件)

在这里插入图片描述

步骤 4:打包

只是根据规则创建一个目录结构,把字节码文件放在指定目录中,然后 xml 文件中描述好部署信息

  1. 在工作区 work 目录下新建 helloweb 目录

在这里插入图片描述

  1. 建立一个如下的目录结构
-- appname
   -- WEB-INF
   -- classes   存放.class 文件
   -- lib       存放.jar 文件,该文件夹可选
   -- web.xml   部署描述文件

在这里插入图片描述

  1. 将编译好的 first.HelloWeb.java 拷贝到 helloweb/WEB-INF/classes 目录下

在这里插入图片描述 4) 编辑 web.xml

拷贝 D:\apache-tomcat-5.5.23\webapps\servlets-examples\WEB-INF\web.xml 作为 模板

在这里插入图片描述

步骤 5:部署

将 helloweb 目录拷贝到 tomcat 的 webapps 目录下

在这里插入图片描述

步骤 6:启动服务器,访问 servlet

http://ip:port/appname/servlet 的 url-pattern 配置

在这里插入图片描述

使用 IDE 开发 步骤 1:新建 Web Project(Web 工程)

在这里插入图片描述

步骤 2:填写“Project Name”

其他选项默认,点击“finish”

在这里插入图片描述

Web 工程的目录结构

在这里插入图片描述

步骤 3:新建一个 Java 类

在这里插入图片描述 在这里插入图片描述

目录结构

在这里插入图片描述

步骤 4:新建 web.xml

在这里插入图片描述

步骤 5:部署项目到 tomcat 服务器
  1. 点击工具栏“Deploy MyEclipse J2EE Project to Server”按钮

在这里插入图片描述

  1. 弹出对话框“Project Deployments”

在这里插入图片描述

  1. 点击“Add”按钮,弹出“New Deployment”对话框 选择“Tomcat 5.x”,点击“Finish”

在这里插入图片描述

  1. 出现如下界面,点击“OK”

在这里插入图片描述

说明: 在对话框“Project Deployments”对话框有 4 个按钮,常用的为:

1. “Add”按钮              在tomcat服务器上增加新应用
2. “Remove”按钮           删除tomcat服务器上的新应用
3. “Redeploy”按钮         重新部署该应用,一般每次修改后都需要重新部署一下

注意: 先启动服务,再部署项目,或者先部署,再启动服务器都可以

步骤 6:访问 tomcat 服务器上的 Servlet 实例

输入 http://localhost:8080/web01/sayHello?name=xiaoxiao

在这里插入图片描述

MyEclipse 控制台显示

在这里插入图片描述 说明: IDE 工具简化了 Servlet 的开发步骤

第1步 写一个 java 类              手动
第2步 编译                       自动
第3步 打包                       自动
第4步 部署                       手动
第5步 启动服务器,访问 servlet     手动

自动部署说明

在这里插入图片描述

自动部署的时候,会先自动打包,根据上图的配置,打包时会找到 Web root folder (这个目录有固定的结构),将这个目录下内容进行打包,且把名称设置为 Project Name 的名称, 接着将 Context root URL 的路径填入 tomcat 中的 server.xml 文件中,映射到实际的工程根目录。

Project Name 和 Context root URL 可以不一致,服务器会根据 server.xml 的配置信息找到 Web 工程。

例如:用户访问 /sm,服务器会去 E:\Workspaces\student-management\WebRoot 目录下获取资源

path="/sm" docBase="E:\Workspaces\student-management\WebRoot"
Source folder

标记为 Source folder 的目录,是告诉 IDE,此目录存放着可以编译的源码文件,IDE 自动编译时,就会让编译器到此目录下找到源文件完成编译

Servlet 优化重构

Servlet 类中的 out.println() 不要再写了,用 JSP 来完成 Servlet 类中的 JDBC 代码不要写了,用 DAO、工厂类代替

关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.6584s