文章目录
- 如何开发 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
- 启动终端
2) 进入 d:盘 work 目录,编译 HelloServlet.java
编译命令参数含义:
- -cp 表示告诉 Java 编译器去哪里找需要的 class 文件(到 servlet-api.jar 的 jar 包中找)
- -d . 表示将编译生成的字节码文件放入当前文件夹下
目录结构(在当前目录下生成编译好的字节码文件)
步骤 4:打包
只是根据规则创建一个目录结构,把字节码文件放在指定目录中,然后 xml 文件中描述好部署信息
- 在工作区 work 目录下新建 helloweb 目录
- 建立一个如下的目录结构
-- appname-- WEB-INF-- classes 存放.class 文件-- lib 存放.jar 文件,该文件夹可选-- web.xml 部署描述文件
- 将编译好的 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 服务器
- 点击工具栏“Deploy MyEclipse J2EE Project to Server”按钮
- 弹出对话框“Project Deployments”
- 点击“Add”按钮,弹出“New Deployment”对话框 选择“Tomcat 5.x”,点击“Finish”
- 出现如下界面,点击“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、工厂类代替