java web入门-servlet初步

Java web三大组件:Servlet、Filter、Listener。

servlet是单例的,一个对象只会有服务器创建一个对象。

每个servlet必须实现javax.servlet.Servlet接口

实现servlet接口的三个方式:

实现javax.servlet.Servlet接口

继承javax,servlet.GenericServelet类

继承javax.servlet.http.HttpServlet类

servlet接口五个方法:

public void init(ServletConfig config) throws ServletException {}

public ServletConfig getServletConfig() {return null;}

public void destroy() {}

public String getServletInfo() {return null;}

public void service(ServletRequest req, ServletResponse res)throws ServletException,IOException{}

配置文件web.xml:

每个servlet需要一个<servlet><servlet-name></servlet-name><servlet-class></servlet-class>将servlet名称和一个servlet类绑定,一个<servlet-mapping><servlet-name></servlet-name><url-pattern></url-pattern>将servlet与url绑定。

servlet生命周期:

1.服务器会在Servlet第一次被访问时创建Servlet,或者是在服务器启动时创建Servlet。如果服务器启动时就创建Servlet,那么还需要在web.xml文件中配置。也就是说默认情况下,Servlet是在第一次被访问时由服务器创建的。(第一次惩罚)

而且一个Servlet类型,服务器只创建一个实例对象,创建后会调用init方法初始化。

2.服务器每收到一个请求就会调用一次service方法

3.结束时会调用destroy方法。

servlet接口相关类型:请求对象ServletRequest,响应对象ServletResponse,配置文件ServletConfig。

GenericServlet:

servlet接口的一种实现,可以通过继承GenericServlet类来修改。

GenericServlet的init方法是通过先将config变量赋值(供其他方法使用),再调用无参的init方法,故在修改时只需要重写无参init即可。

HttpServlet:

GenericServlet的子类,添加了对HTTP的额外支持。

HttpServlet在接口service方法中将两个普通参数强转为HTTP参数(HttpServletRequest和HttpServletResponse)。再调用自己特有的service(使用HTTP参数)方法,在这个方法内部通过判断请求类型(post和get)来确定调用doPost方法和doGet方法。故在实现时只需要覆盖doGet方法和doPost方法即可。

原文地址:https://www.cnblogs.com/liuzey/p/11282139.html

时间: 2024-10-23 10:15:52

java web入门-servlet初步的相关文章

[java web 入门](一)MyEclipse &amp;amp; HelloWorld 记录

第一部,下载安装MyEclipse for mac. http://downloads.myeclipseide.com/downloads/products/eworkbench/2014/installers/myeclipse-spring-2014-GA-offline-installer-macosx.dmg   http://downloads.myeclipseide.com/downloads/products/eworkbench/2014/installers/myeclip

Java Web入门项目之“网络交友”的设计与实现

前言:这个小项目是我刚学习JSP时,参考"JSP程序设计"这本书写的.这里之所以说参考这本书而不是照着这本书写,主要是因为我自己完成的时候删掉了不少繁琐的写法(比如:文件上传):同时对书中容易产生SQL注入漏洞,XSS跨站脚本漏洞等地方的写法进行了修改过滤:登录页面加上了随机验证码.除此之外,还添加了文件管理功能 PS:整个项目没有特别的难点,可以分为一个个功能点实现,大神轻喷,个人认为对初学Java Web的童鞋还是有参考意义的 注:整个项目的完整源代码和sql文件我会在文末给出下载

java web中servlet、jsp、html 互相访问的路径问题。

在java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对. java web中的路径使用按我的分法可以分两种情况,当然啦两者使用相对路径是一致,本文只说绝对路径. 情况一.指向外部的web组件和本身关系不大的,这一类的有:html中使用路径的标签,比如<a>标签中的href;servlet和jsp中的重定向sendRedirect(path); 情况二.指向内部的web组件和本身有关系的,这一类我暂时看到的有:servlet或者jsp的转发 假设在myapp项目下有

Java Web基础 --- Servlet 综述(实践篇)

摘要: 伴随 J2EE 6一起发布的Servlet 3.0规范是Servlet规范历史上最重要的变革之一,它的许多新的特性都极大的简化了 Java Web 应用的开发.本文从一个简单的 Servlet 例子开始,说明了如何开发.配置一个 Servlet.此外,还重点叙述了Servlet的一些新特性,包括Servlet 异步处理.Servlet 非阻塞IO 以及 Servlet 文件上传等内容,以便我们对Servlet有一个更全面的了解. 本篇主要介绍 Servlet 实践方面的知识,更多关注于S

Java Web之Servlet技术

1.Servlet基础 针对Servlet技术开发,Sun公司提供了一些列接口和类,其中最重要的是javax.servlet.Servlet接口,两个重要的包是javax.servlet和javax.servlet.http,Servlet就是一种实现了Servlet接口的类,它由Web容器(Tomcat/Jetty等)负责调用并创建,用于接收和响应用户请求.Servlet接口中定义了5个抽象方法: 方法 功能 void init(ServletConfig config) 负责Servlet初

攻城师之路--复习java web之servlet

需要掌握的知识点:1.Servlet程序编写 ----- 生命周期2.ServletAPI Request Response 3.Cookie 和 Session Servlet 用来 动态web资源 开发静态web资源 : 固定数据文件动态web资源 : 通过程序动态生成数据文件 Servlet技术基于Request-Response编程模型 ---- HTTP协议也是基于请求响应 模型 * Servlet技术 用来 开发基于HTTP web 应用程序 接触 JavaEE API ------

Java Web入门学习路线图的规划

Java作为学习编程开发入门语言,可能对于许多新手来说可能有点摸不着北,做位一名有几年开发经验的老鸟,希望给一些新人分享经验,当然其他老鸟如果有什么意见可以指出,我也会努力纠正. 本人工作是有关Java Web 开发,所以我会以Java Web标准开发去做一个标准,当然Java 能做的事情很多,包括Android,Java Me等,后期只要我们努力可以学习更多,更深的我也说不了,我现在只谈谈怎么去入门,至于登堂入室,大家有了套路以后,都能够达到.我写这个初衷,是因为我本来是一名非计算机专业的学生

Java Web 之 Servlet - Listener、Filter、Decorator 精辟

Listener-监听器 Listener为在Java Web中进行事件驱动编程提供了一整套事件类和监听器接口.Listener监听的事件源分为ServletContext/HttpSession/ServletRequest三个级别: ServletContext级别 Listener 场景 ServletContextListener 响应ServletContext生命周期事件(创建/销毁),在ServletContext创建/销毁时分别调用其相应的方法. ServletContextAt

java web ; servlet(1)

Java Web应用由一组Servlet.HTML页.类.以及其它可以被绑定的资源构成; 它可以在各种供应商提供的实现Servlet规范的 Servlet容器 中运行. servlet容器为java web应用提供运行时环境,它负责管理Servlet和jsp的生命周期,以及管理它们的共享数据. 目前最流行的Servlet容器有: tomcat:Resin:J2EE服务器(如Weblogic)中也提供了内置的Servlet容器. web结构: – WEB-INF目录下的classes和lib目录都