Servlet

  • Why?我们为什么需要Servlet?
    • Web应用基本运行模式

①生活中的例子

②Web应用运行模式

  • 通过网页驱动服务器端的Java程序。在网页上显示Java程序返回的数据。

  • What?什么是Servlet?
  • 如果把Web应用比作一个餐厅,Servlet就是餐厅中的服务员——负责接待顾客、上菜、结账。
  • 从广义上来讲,Servlet规范是Sun公司制定的一套技术标准,包含与Web应用相关的一系列接口,是Web应用实现方式的宏观解决方案。而具体的Servlet容器负责提供标准的实现。
  • 从狭义上来讲,Servlet指的是javax.servlet.Servlet接口及其子接口,也可以指实现了Servlet接口的实现类。
  • Servlet作为服务器端的一个组件,它的本意是“服务器端的小程序”。Servlet的实例对象由Servlet容器负责创建;Servlet的方法由容器在特定情况下调用;Servlet容器会在Web应用卸载时销毁Servlet对象的实例。
  • How?如何使用Servlet?
    • 操作步骤

①搭建Web开发环境

②创建动态Web工程

③创建javax.servlet.Servlet接口的实现类:com.atguigu.servlet.MyFirstServlet

④在service(ServletRequest, ServletResponse)方法中编写如下代码,输出响应信息:

@Override

public void service(ServletRequest req, ServletResponse res)

throws ServletException, IOException {

//1.编写输出语句,证明当前方法被调用

System.out.println("Servlet worked...");

//2.通过PrintWriter对象向浏览器端发送响应信息

PrintWriter writer = res.getWriter();

writer.write("Servlet response");

writer.close();

}

 

⑤在web.xml配置文件中注册MyFirstServlet

<!-- 声明一个Servlet组件 -->

<servlet>

<!-- 为Servlet组件指定一个友好名称,以便于引用 -->

<servlet-name>MyFirstServlet</servlet-name>

<!-- 注册Servlet实现类的全类名 -->

<servlet-class>com.atguigu.servlet.MyFirstServlet</servlet-class>

</servlet>

 

<!-- 建立一个从虚拟路径到Servlet组件之间的映射关系 -->

<servlet-mapping>

<!-- 引用Servlet组件名称 -->

<servlet-name>MyFirstServlet</servlet-name>

<!-- 映射到Servlet的虚拟路径:“/MyFirstServlet” -->

<url-pattern>/MyFirstServlet</url-pattern>

</servlet-mapping>

⑥在WebContent目录下创建index.html

⑦在index.html中加入超链接

<a href="MyFirstServlet">To Servlet</a>

⑧点击超链接测试Servlet

  • 运行分析