文章目录

  • 如何开发 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、工厂类代替

如何开发 Servlet 程序相关推荐

  1. 使用IDEA开发Servlet程序

    JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...

  2. 【JavaWeb】Servlet系列——响应HTML代码、Servlet连接数据库、IDEA开发Servlet程序、Servlet对象的生命周期、GenericServelet适配器模式

    文章目录 10 向浏览器响应一段HTML代码 11 在Servlet中连接数据库,怎么做? 12 在集成开发环境当中开发Servlet程序 12.1 集成开发工具很多,其中目前使用比较多的是: 12. ...

  3. 使用JCreator进行servlet程序的开发

    安装Jcreator,他会自动寻找jdk的目录进行关联 使用Jcretor开发servlet程序的三种方式 1.实现servlet接口 2.继承genericServlet 3.继承HttpServl ...

  4. Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】...

    tags: Servlet 什么是Serlvet?# Servlet其实就是一个遵循Servlet开发的java类.Serlvet是由服务器调用的,运行在服务器端. 为什么要用到Serlvet? 我们 ...

  5. Servlet技术简介与编写、编译Servlet程序

    1.Servlet技术简介 Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于Java编程语言的WEB服务器端编程技术,主要用于在WEB服务器端获得客户端的访问请求信息和动态生成 ...

  6. Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】

    什么是Servlet? Servlet其实就是一个遵循Servlet开发的java类.Servlet是由服务器调用的,运行在服务器端. 为什么要用到Servlet? 我们编写java程序想要在网上实现 ...

  7. java 编写 servlet 程序_Java技术分享:如何编写servlet程序

    身为计算机专业的我,从接触java至今,已经有七年之久,从最开始的小白到现在的大白,这是一个漫长而曲折的历程. 大学刚接触Java这个学科时,一点儿都不理解java是要干嘛的,只知道学起来肯定不容易, ...

  8. Java web开发——Servlet详细介绍

    一.第一个Servlet程序 1.创建Servlet程序 在webapps目录下新建一个serfis的web应用,在serfis下新建一个WEB-INF\classes,在classes新建servl ...

  9. [转载]Eclipse开发J2ME程序之安装配置

    Eclipse开发J2ME程序之安装配置 引言 在上一篇文章中介绍了Eclipse是一款非常出色和著名的开源项目.开放源代码软件是这样一种软件,它们在发布时附带了旨在确保将某些权利授予用户的许可证.当 ...

最新文章

  1. 大华嵌入式硬盘录像机数据恢复工具
  2. CV:利用cv2+dlib库自带frontal_face_detector(人脸征检测器)实现人脸检测与人脸标记之《极限男人帮》和《NBA全明星球员》
  3. PHP 之旅 基础语法(二)
  4. Kaggle知识点:时序数据与Embedding
  5. apt-get卸载命令
  6. 常见分数值归一化方法
  7. Flutter MaterialButton组件详细概述
  8. 7-125 切分表达式——写个tokenizer吧 (20 分)
  9. java loadjs_Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
  10. OV摄像头SCCB通信协议
  11. Linux:进入文件夹提示Permission denied错误
  12. Python 安装skimage即Scikit-Image
  13. 2020MPAcc,管理类联考网课,书籍资源推荐!
  14. Servlet容器与Servlet的关系
  15. 云服务器架设大话西游2,端游[大话西游]天演册虚拟机镜像一键启动服务端+客户端+GM工具等...
  16. Halcon 排线检测|固定颜色检测
  17. 如何阻止iCloud照片库使用手机数据
  18. 电商流水的3大策略:流量、转化率、客单价
  19. iOS-根据银行卡号判断银行名称
  20. 解决photoshop cs5每次打开都输入序列号的问题 (至少我好用 win7 64位)

热门文章

  1. 垃圾收集算法,垃圾收集器_确定活动的热点垃圾收集器
  2. spring aop不执行_使用Spring AOP重试方法执行
  3. javaone_JavaOne和OOW 2015总结
  4. logback redis_使用Spring Boot和Logback登录到Redis
  5. hibernate jpa_JPAHibernate替代方案。 如果JPA或Hibernate对于我的项目而言不够好,该怎么办?...
  6. 使用MicroProfile应用隔板和背压
  7. jpa命名 多条件查询命名_JPA 2 | 动态查询与命名查询
  8. 最受欢迎的java技术_最受欢迎的Java环境
  9. 将Wiremock集成到Spring Boot Java Web应用程序中以模拟外部依赖关系
  10. 使用Speedment和Spring创建REST API