Servlet_01
A.概述
Servlet:运行在服务器端的小程序
定义了一个Java类,能被浏览器所访问的规则,其实就是一个接口
B.作用
接收请求,处理请求,响应请求
Servlet由服务器创建、管理、销毁,用户只是使用他
C.搭建一个Servlet小程序(快速入门)
1.创建Web项目
a.创建Web Project,填写工程名,点击Next
b.一直Next,直到出现如下图,将选项勾选,点击Finish
c.完成创建
2.定义java类,实现Servlet接口,重写里面的业务方法
在service方法里写个逻辑,快速入门,写一个简单的小程序
其他方法后面介绍
代码(注意:Servlet是部署在服务器上的,没有main方法)
package org.xxxx.servlet; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; // 实现Servlet接口 public class MyServlet implements Servlet { @Override public void destroy() { // TODO Auto-generated method stub } @Override public ServletConfig getServletConfig() { // TODO Auto-generated method stub return null; } @Override public String getServletInfo() { // TODO Auto-generated method stub return null; } @Override public void init(ServletConfig config) throws ServletException { // TODO Auto-generated method stub } // 核心方法,对外提供服务,每一次请求都会调用该方法 @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { System.out.println("Hello World!"); } }
3.在web.xml里进行配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>Servlet</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 以上是自动生成的代码,不用管 --> <!-- 定义一个servlet标签 --> <servlet> <!-- 给Servlet配一个别名 --> <servlet-name>mydemo</servlet-name> <!-- 配置Servlet的路径——全类名 --> <servlet-class>org.xxxx.servlet.MyServlet</servlet-class> </servlet> <!-- 配置一个映射 --> <servlet-mapping> <servlet-name>mydemo</servlet-name> <!-- 配置一个虚拟路径用来作为浏览器的访问资源路径 --> <!-- 格式:/路径名 --> <url-pattern>/demo</url-pattern> </servlet-mapping> </web-app>
4.发布项目
a.在Servers栏右键tomcat--->Add/Remove Deployments...
b.选择要部署的工程,点击Add,将工程部署到服务器上点击finish
c.右键tomcat--->start,启动服务器,控制台没有异常,启动成功
5.请求Servlet
http://localhost:8080/Servlet/demo
观察控制台是否输出service中写的逻辑
6.停止服务器
D.重写Servlet中的方法详解
1.void init(SercletConfig arg0)
当Servlet被创建时调用,且只调用一次
一般在这个方法里,会对数据进行初始化
2.void service(ServletRequest arg0, ServletResponse arg1)
核心方法,对外提供服务,每一次请求(加载网页)会调用一次
3.void destroy()
当Servlet被销毁(关闭)时调用(正常关闭,而不是直接在控制台点击关闭)
4.ServletConfig getServletConfig()
获取配置对象的方法
5.String getServletInfo()
获取Servlet版本信息,作者信息等,一般不用
代码实现1,2,3
package org.xxxx.servlet; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; // 实现Servlet接口 public class MyServlet implements Servlet { // 当Servlet停止运行时,执行 @Override public void destroy() { System.out.println("Servlet关闭!!!"); } // 获取Servlet配置信息 @Override public ServletConfig getServletConfig() { return null; } // 获取信息Servlet版本作者信息,一般不用 @Override public String getServletInfo() { return null; } // Servlet被创建时调用,只调用一次,一般初始化数据 @Override public void init(ServletConfig config) throws ServletException { System.out.println("Servlet开启!!!"); } // 核心方法,对外提供服务,每一次请求都会调用该方法 @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { System.out.println("Hello World!"); } }
a.部署项目,启动tomcat
b.请求服务器:http://localhost:8080/Servlet/demo(多刷新几次)
c.正常关闭服务器,不要在控制台关闭,观察控制台