java servlet接口开发_servlet三种实现方式之一实现servlet接口

servlet有三种实现方式:

1.实现servlet接口

2.继承GenericServlet

3.通过继承HttpServlet开发servlet

第一种示例代码如下(已去掉包名):

import javax.servlet.*;

import java.io.*;

public class Hello implements Servlet{

//该函数用于初始化该servlet(),类似于构造函数

//该函数只会被调用一次(当用户第一次访问该servlet时被调用。

public void init(ServletConfig parm1) throws ServletException {

// Put your code here

System.out.println("init it");

}

//得到配置文件,跟servlet周期关系不大

public ServletConfig getServletConfig() {

return null;

}

//这个函数用于处理业务逻辑

//程序员应当把业务逻辑写在这里

//会被调用多次,当用户每访问该servlet时,都会被调用

//req用于获得客户端(浏览器(b/s结构))的信息,res用于向客户端(浏览器)返回信息

public void service(ServletRequest req, ServletResponse res)

throws ServletException, IOException {

System.out.println("service it..");//像控制台输出

//从res中的得到PrintWriter,才可以返回值

PrintWriter pw=res.getWriter();

pw.println("hello,world");//向浏览器输出

}

public String getServletInfo(){

return "";

}

//销毁servlet实例(释放内存)

//1.reload该servlet(webAPP)

//2.关闭tomcat

//3.关机

public void destroy() {

System.out.println("destory..");

}

}

web.xml中部署如下:(以后就不再写了)

hello

com.Hello

hello

/hello

url-pattern路径任意,如上的话访问时地址栏就为(tomcat服务器,项目名称为servlet)

servlet三种实现方式之三通过继承HttpServlet开发servlet

servlet有三种实现方式: 1.实现servlet接口 2.继承GenericServlet 3.通过继承HttpServlet开发servlet 第三种: import java.io.*; i ...

servlet三种实现方式之二继承GenericServlet开发

servlet有三种实现方式: 1.实现servlet接口 2.继承GenericServlet 3.通过继承HttpServlet开发servlet 第二种示例代码如下(已去掉包名): //这是第二 ...

Servlet 三种创建方式

servlet 是运行在 Web 服务器(tomcat)中的小型 Java 程序(即:服务器端的小应用程序) (其实就是一个java类,只不过不用再new了).servlet 通常通过 HTTP(超文 ...

Spring IOC 三种注入方式

1.    接口注入 2.    setter注入 3.    构造器注入 对象与对象之间的关系可以简单的理解为对象之间的依赖关系:A类需要B类的一个实例来进行某些操作,比如在A类的方法中需要调用B类 ...

MyEclipse中web服务器的三种配置方式

初学Javaweb开发的人们都会遇到一个问题,就是服务器环境的搭建配置问题.下面介绍三种服务器的搭建方式. 直接修改server.xml文件 当你写了一个web应用程序(jsp/servlet),想通 ...

java代码中init method和destroy method的三种使用方式

在java的实际开发过程中,我们可能常常需要使用到init method和destroy method,比如初始化一个对象(bean)后立即初始化(加载)一些数据,在销毁一个对象之前进行垃圾回收等等. ...

Spring boot 集成三种拦截方式

三种拦截方式分别为: javax.servlet.Filter org.springframework.web.servlet.HandlerInterceptor org.aspectj.lang. ...

通过三个DEMO学会SignalR的三种实现方式

一.理解SignalR ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息 ...

Hive metastore三种配置方式

http://blog.csdn.net/reesun/article/details/8556078 Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储.远端存储比较适 ...

随机推荐

Windows内存小结

以前写过一篇理解程序内存, 当时主要是针对用户态,下面再稍微深入一点: 我们以32位程序为例(不启用AWE), 总共4G虚拟空间,其中低2G属于用户态, 高2G属于操作系统内核, 每个程序都有自己的低 ...

《基于MVC的Javascript》

var Class = function(){ var klass = function(){ this.init.apply(this,arguments); } klass.prototype.i ...

Azure File SMB3.0文件共享服务(4)

在Linux上使用Azure文件共享服务 使用SMB 3.0从用户自己的数据连接到Azure,需要加密连接,但目前的Linux SMB客户端都暂时都不支持,Linux的开源社区正在努力将该功能添加到L ...

HDU 3966 Aragorn's Story(模板题)【树链剖分】+【线段树】

题目大意: 给定一颗带点权的树,进行两种操作,一是给定树上一段路径,对其上每个点的点权增加或者减少一个数,二是对某个编号点的点权进行查询. 解题分析: 树链剖分的模板题,还不 ...

MacBook小技巧

退出全屏:Control+Command+F.关闭当前的应用程序:Command+W.退出应用程序,可对着Dock上的应用程序辅助点按(右键),选择退出.也可直接按Commnad+Q退出当前的应用程序 ...

[Boolan-C++学习笔记]第二周整理

1.对于String类型的类(含有指针) 其中的指针成员能够灵活的申请存储空间,但指针操作又带来内存泄漏的风险,变更指针的操作需要尤为谨慎. 要点在于写好BigThree 构造函数 { 完成成员初始化 ...

SQLServer Temp tables 数据疑问

1. 现象 使用Cacti监控,有关于临时表的一个图形 可以看到正在使用的临时表Active Temp Tables的数量非常大,并且在非工作时间,也维持在400个左右.感觉非常奇怪,所以追查下! 2 ...

Oracle 函数 “把当前的用户(审核人,审核通过后)插入到数据表中”

create or replace function mcode_apply_update_personnel(p_mca_no VARCHAR2, -- 参数(实参) p_action VARCHA ...

Spring:通配符的匹配很全面, 但无法找到元素 XXXXX' 的声明

问题:配置Spring的时候容易发生如题的这样一个经常性的错误,错误如下(以context为例) org.springframework.beans.factory.xml.XmlBeanDefini ...

python mysql orm

Python中操作mysql的pymysql模块详解:https://www.cnblogs.com/wt11/p/6141225.html Python 12 - Mysql & ORM:h ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值