1.1 Web应用基本运行模式
-
生活中的例子
-
Web应用运行模式
1.2 Web服务器中Servlet作用举例
-
举例一:插入数据
-
举例二:查询数据
通过网页驱动服务器端的Java程序。在网页上显示Java程序返回的数据。
2 什么是Servlet?
如果把Web应用比作一个餐厅,Servlet就是餐厅中的服务员——负责接待顾客、上菜、结账。
-
从广义上来讲,Servlet规范是Sun公司制定的一套技术标准,包含与Web应用相关的一系列接口,是Web应用实现方式的宏观解决方案。而具体的Servlet容器负责提供标准的实现。
-
从狭义上来讲,Servlet指的是javax.servlet.Servlet接口及其子接口,也可以指实现了Servlet接口的实现类。
-
Servlet(Server Applet)作为服务器端的一个组件,它的本意是“服务器端的小程序”。
-
Servlet的实例对象由Servlet容器负责创建;
-
Servlet的方法由容器在特定情况下调用;
-
Servlet容器会在Web应用卸载时销毁Servlet对象的实例。
-
3 如何使用Servlet?
3.1 操作步骤
-
复习:使用一个接口的传统方式:
-
创建一个类实现接口
-
new 实现类的对象
-
调用类的方法等
-
-
使用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的别名,一个名字对应一个Servlet。相当于变量名 --> <servlet-name>MyFirstServlet</servlet-name> <!-- Servlet的全类名,服务器会根据全类名找到这个Servlet --> <servlet-class>com.zyd.servlet.MyFirstServlet</servlet-class> </servlet> <!-- 建立Servlet的请求映射信息 --> <servlet-mapping> <!-- Servlet的别名,说明这个Servlet将会响应下面url-pattern的请求 --> <servlet-name>MyFirstServlet</servlet-name> <!-- Servlet响应的请求路径。如果访问这个路径,这个Servlet就会响应 --> <url-pattern>/MyFirstServlet</url-pattern> </servlet-mapping>
说明:
<url-pattern>:这个url-pattern可以配置多个,这时表示的就是访问这些url都会触发这个Servlet进行响应,运行浏览器,访问刚才配置的url路径,Servlet的service方法就会被调用。
<url-pattern>中的文本内容必须以 / 或 *. 开始书写路径。相当于将资源映射到项目根目录下形成虚拟的资源文件。
<servlet-mapping>中的<url-pattern>可以声明多个,可以通过任意一个都可以访问。但是开发中一般只会配置一个。
⑥ 在WebContent目录下创建index.html
⑦ 在index.html中加入超链接 <a href="MyFirstServlet">To Servlet</a>
⑧ 点击超链接测试Servlet
3.2 Servlet作用总结
-
接收请求 【解析请求报文中的数据:请求参数】
-
处理请求 【DAO和数据库交互】
-
完成响应 【设置响应报文】