初学Java Web——Servlet(一)
来源:互联网 发布:excel数据透视表 编辑:程序博客网 时间:2024/05/19 23:15
1. Servlet
1.1 静态网页和动态网页
如果浏览器在不同时刻访问Web服务器所获得的页面内容(源文件)可以发生变化,那么这个页面就称之为动态网页。我们参考以下代码:
<html> <head> <script type="text/javascript"> document.write(new Date()); </script> </head> <body> </body></html>
虽然每隔一段时间刷新网页会看见时间的改变,但是网页的源文件是没有变化的,这种情况就不属于动态网页。
1.2 Servlet简介
一个Servlet程序就是一个实现特殊接口的java类,它由支持Servlet的Web服务器调用和运行。Servlet程序负责处理它所对应的一个或多个访问请求,并用于接收客户端发出的访问请求信息和产生的响应内容
我们可以在Servlet中完成如下功能:1. 获取浏览器Html页面中的Form表单,并通过一种方式提交到服务器2. 创建对浏览器的响应消息内容3. 访问服务器的文件系统4. 连接数据库5. 调用其他Java类**开发Servlet涉及的相关知识:**1. 应该具备良好的Java编程基础2. Servlet是基于Web站点的技术,应该对于Xml、Http协议以及Html、Css和Js有所了解3. 应该具备数据库系统的相关知识,能对数据库进行基本的管理和操作是必要的
#2. Servlet开发##2.1 Servlet的第一个例子上文已经提到 **Servlet是一个实现特殊接口的Java类**我们可以在API文档中发现|--java.lang.Object |--javax.servlet.GenericServlet |--javax.servlet.http.HttpServlet
HttpServlet是在GenericServlet类的基础上进行了一些针对Http的扩充。显然,一个类只要继承了GenericServlet或者HttpServlet,它就是一个Servlet。为了充分利用Http协议的功能,在一般情况下我们都应该继承HttpServlet。
**Servlet开发步骤:**1. 新建Web工程MyJavaWeb2. 编写类继承HttpServlet3. 配置web.xml文件
package com.xpeng_V.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class MyServlet extends HttpServlet { //doGet方法 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().write("this is my first Servlet"); }}
配置web.xml文件
<servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.xpeng_V.servlet.MyServlet</servlet-class></servlet><servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/MyServlet</url-pattern></servlet-mapping>
注册Servlet:
其中,指定了MyServlet.java的注册名是MyServlet,servlet的注册名可以是任意的,但是不能和其他的servlet重复。指定了当前servlet的完整路径
映射Servlet:
与servlet的注册名相同,是servlet对外的访问路径
同一个Servlet可以被映射到多个URL上,在上可以使用“”通配符。例如,“.do”表示匹配所有以“.do”结尾的URL,另一种“/*”表示匹配当前路径下所有的URL。
将工程发布到Tomcat并重启服务器,在浏览器地址栏中输入http://127.0.0.1:8080/MyJavaWeb/MyServlet
**缺省Servlet**如果某一个Servlet的映射路径仅仅为“/”,那么这个Servlet就是当前Web应用的缺省Servlet。凡是web.xml文件中不能匹配的元素,就都交给缺省Servlet处理。访问Tomcat服务器中的静态页面和图片时,实际上访问的就是缺省Servlet,我们将web.xml中的缺省Servlet注释,就会发现浏览器的静态页面无法正常显示了。Tomcat服务器中的缺省Servlet:
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
2.2 Servlet生命周期
Servlet的生命周期主要的方法有构造方法、init、service、destroy:
public class LifeServlet extends HttpServlet { public LifeServlet() { System.out.println("Servlet被创建..."); } @Override public void init(ServletConfig config) throws ServletException { System.out.println("init初始化方法..."); } @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("service方法被调用"); } @Override public void destroy() { System.out.println("destroy被调用,Servlet被销毁"); }}
当第一次从浏览器访问时,控制台输出如下:
Servlet被创建...init初始化方法...service方法被调用
每一次发出请求都只会调用service方法,当服务器关闭或者重新发布web应用时会调用destroy方法。
构造方法:创建Servlet对象时被调用 Servlet构造方法只调用一次,所以在Tomcat服务器中Servlet是单例的
init:创建完Servlet对象后被调用
service:每次发出请求时被调用
destroy:停止Web服务器或者重新发布Web应用时会销毁Servlet对象
- 初学Java Web——Servlet(一)
- JAVA servlet初学(一)
- 初学Java Web——xml(一)
- 初学 Java Web 的Servlet和Filter
- 初学 Java Web 开发,从 Servlet 开始
- 复习java web 之 servlet(一)
- Java Web学习笔记(一)Servlet
- Java Servlet初学(二)
- Java Servlet初学(三)
- 初学 Java web(一)JavaBean 的使用实例
- 【Java Web】——Servlet
- 初学Java Web——xml(二)
- Java初学(一)
- 初学java(一)
- JAVA初学(一)
- Servlet & Jsp Web——Servlet开发(一)
- Java-Servlet初学
- java web 进阶篇(一) servlet程序
- 水池数目
- Cocos2dx 用户事件 事件监听器 事件分发器
- Android Studio快捷键之Android Studio的下载和安装以及SDK和JDK的导入
- 单调栈
- Angular 2与React比较
- 初学Java Web——Servlet(一)
- noip2010T4引水入城
- 【读书笔记】《Effective Java》(4)--泛型
- java--DOM4j-SAXReader对xml文档的解析2
- C++中vector<> resize()和reserve区别
- 统计回文
- WCF安全问题
- 安卓小日记练习(8)listview的另一个item点击事件的界面和数据保存
- SCUT引擎简单使用一