- 创建工程
- 添加web框架
- 配置tomcat
点击+号 选择artifact
网站发布方式: 以war包解压的方式 war exploded
使用热加载方式 update classes and resources
-
添加servlet-api.jar(在tomcat/lib)下
-
web-inf下创建lib文件夹,将复制好的jar包粘贴至文件夹内
-
将jar包添加至工程中
-
在src中添加com.ljysty.servlet.helloServlet.java文件
package com.ljysty.servlet;
import javax.servlet.*;
import java.io.IOException;
/**
* 1. 开发一个 Servlet 需要实现 Servlet 接口
* 2. 实现 Servlet 接口的方法(5个)
*/
public class helloServlet implements Servlet {
/**
* 1. 初始化 Servlet
* 2. 当 tomcat 创建 helloServlet 实例时,会调用 init 方法
* 3. 该方法只会被调用一次
*/
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("init()...被调用");
}
/**
* 返回 ServletConfig 也就是返回 Servlet 的配置
*/
@Override
public ServletConfig getServletConfig() {
return null;
}
/**
* 1. service 方法处理浏览器的请求(包括 get/post)
* 2. 当浏览器每次请求 Servlet 时,就会调用一次 service
* 3. 当tomcat调用该方法时,会把http请求的数据封装成实现 ServletRequest 接口的 request 对象
* 4. 通过 ServletRequest 对象, 可以得到用户提交的数据
* 5. ServletResponse 对象可以用于返回数据给 tomcat => 浏览器
*/
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Hello, Servlet");
}
/**
* 返回 servlet 信息,使用较少
* @return
*/
@Override
public String getServletInfo() {
return null;
}
/**
* 1. 该方法是在servlet销毁时被调用
* 2. 只会调用一次
*/
@Override
public void destroy() {
}
}
- 在web.xml中配置 HelloServlet, 即:给 HelloServlet 提供对外访问地址
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!--web.xml 主要用来配置该 web 应用使用到的 Servlet-->
<!--1. servlet-name: 给 servlet 取名(程序员决定),该名字唯一-->
<!--2. servlet-class: Servlet 的类的全路径:Tomcat 在反射生成该 Servlet 需要使用-->
<!--3. servlet-mapping 中的 servlet-name 需要与 servlet 中的 servlet-name 名称保持一致-->
<!--4. url-pattern: 该 servlet 访问的url的配置(路径)(路径取名程序员决定 斜杠 '/' 必须要写)-->
<!--5. 访问方式: http://localhost:8080/servlet_helloServlet/helloServlet-->
<!--配置helloServlet-->
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.ljysty.servlet.helloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/helloServlet</url-pattern>
</servlet-mapping>
</web-app>
- 访问http://localhost:8080/servlet_helloServlet/helloServlet
注意: init()方法只访问一次,service每次请求都会调用