1、搭建环境
使用IDEA创建Java Web项目以及配置Tomcat
1.1 创建Web Application项目
1.2 在IDEA中配置Tomcat
- 在Run菜单栏下选择Edit Configuretions
- 点击"+",add a local Tomcat Server configuration
- deployment -> + artifict(如果没有artifict需要配置一下:Project Structure->Moudules->项目右键add web->create artifict)
1.3 添加servlet的jar包
- 在web目录下新建lib文件夹放入jar包,将需要用到的jar包右键Add as Library
2、手动配置第一个Servlet
实现Servlet的一个简单的案例
2.1 实现Servlet
- 创建Servlet包(如:com.hello.servlet),MyServlet类extendsHttpServlet
- 重写doGet()和doPost()方法
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("hello!doget()");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("hello!dopost()");
}
}
2.2 修改web.xml配置文件
- /test是访问MyServlet的路径
<?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">
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>com.hello.servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>
2.3 访问Servlet
- 在地址栏访问http://localhost:8080/JavaTest/test控制台输出如下
3、Servlet
3.1 介绍
- Servlet是Java Web三大组件之一
- Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层
3.2 Servlet作用
- 接收请求数据
- 处理请求
- 完成响应
3.3 Servlet实现方式
- 实现Servlet接口
- 继承HttpServlet抽象类,重写doGet()和doPost()方法
- 继承GenericServlet类
3.4 Servlet生命周期
- servlet生命周期,的三个方法,1.被创建,执行且只执行一次init方法,2.提供服务,执行service方法,执行多次 3.被销毁,当Servlet服务器正常关闭时,执行destroy方法,只执行一次。
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
super.service(req, resp);
}
@Override
public void destroy() {
// TODO Auto-generated method stub
super.destroy();
}
3.5 Servlet相关类
ServletConfig
- 一个ServletConfig对象,获取web.xml中对应的一段Servlet配置信息
- 获取Servlet配置文件中的数据
- 获取Servlet上下文对象 ServletContext getContext()
- 获取所有初始化参数的名称 getInitParameter(String name)
- 通过名称获取指定初始化参数的值 String getInitParameter(String name)
- 获取所有初始化参数的名称 Enumeration getInitParameterName()
// 在Servlet类中重写init方法,添加ServletConfig属性,为其赋值
private ServletConfig servletConfig;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("ImplementsServlet类中init()方法执行!");
this.servletConfig = servletConfig;
}
// 使用:servletConfig.getServletName()