servlet技术
- Servlet是Java EE规范之一,规范即接口
- 是JavaWeb三大组件之一,其他2个是:Filter过滤器、Listener监听器
- 是运行在服务器上一个Java小程序,可以接收客户端发来的请求,并相应给客户端
- Servlet没有
main()
方法,由系统自动调用
IDEA创建servlet
1—
2—
3—
手动实现Servlet程序
-
编写类实现Servlet规范,有3种方式:
-
继承
HttpServlet
类public class HelloServlet extends HttpServlet { }
-
实现
Servlet
接口package com.example.servlet01; import javax.servlet.*; import java.io.IOException; public class Servlet01 implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { } @Override public ServletConfig getServletConfig() { return null; } @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("实现Servlet接口"); } @Override public String getServletInfo() { return null; } @Override public void destroy() { } }
-
-
实现
service()
方法,处理请求,响应数据【快捷键 ctrl+o 可以重写方法或实现接口】
public class HelloServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //控制台打印 System.out.println("Hello Servlet"); //通过流输出数据到浏览器 resp.getWriter().write("hello servlet!"); } }
-
设置注解
@WebServlet
,指定访问路径@WebServlet(name="helloServlet", value = "/ser01") //name可以不设置
在第二步中,也可以不重写
Service()
方法,而是更具体些,重写doGet()
、doPost
方法;根据浏览器请求方式来进行不同处理
但实际我们不知道浏览器以何种方式请求,故两个方法都需要去写,因此这种方式用的较少
Servlet工作流程
url含义:
http://localhost:8083/servlet01/ser01
- 服务器:http://localhost:8083
- 项目:/servlet01
- 资源:/ser01