java serverlet_Serverlet程序

article/2025/11/10 18:58:10

Serverlet是用Java编写的服务器端程序;主要用于交互地浏览和修改数据,生成动态Web内容;

一个serverlet就是一个继承于HttpServlet抽象类的Java类;下面先看一个简单的例子

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

import javax.servlet.*;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;import java.io.*;public class HelloWorldServlet extendsHttpServlet {public void service(HttpServletRequest req, HttpServletResponse res) throwsIOException{

res.setContentType("text/html");

PrintWriter out=res.getWriter();

out.println("

Hello World!");

out.println("

");

out.println("

Hello World!

");

}

}

HelloWorldServlet

将这个Java代码编译成.class 类得到 HelloWorldServlet.class 文件;

然后就是将这个文件放入tomcat的一个站点的 ../WEB-INF/classes/   下面

在对应的web.xml 里面添加如下内容:

HelloWorldServlet

HelloWorldServlet

HelloWorldServlet

/HelloWorldServlet/*

OK,现在可以在浏览器里访问了;

http://localhost:8080/webapp/HelloWorldServlet/     webapp为站点名;

下面介绍servlet是怎么样被访问的,首先浏览器发送的URL,服务器会在web.xml文件中寻找对应的标签,再找到对应的servlet对应的,然后再根据,找到对应的servlet-class类 , 然后new一个对象,执行里面的方法;

servlet生命周期:

1、加载(通过classloader加载类)

2、实例化(new 一个对象)  这时候会执行构造函数

3、执行初始化函数(init(servletcofig)函数)//servletcofig  这个参数记录了 web.xml中关于这个servlet的配置信息

4、处理请求

5、销毁(执行destroy函数)

注意,无论有N多用户,对于一个符合J2EE标准的服务器,一个servlet的类,值产生一个servlet对象,所有用户都使用这一个对象;

当第一个用户访问的时候,会执行步骤1~4   其他用户访问的时候,就只执行4,不会再执行1~3;

等待服务器关闭的时候,执行5;

实际上,servlet有这样一个接口,singlethread(大概是这个名字),重写这个函数,就可以使得每调用一次,创建一个对象,然而这样会非常非常消耗内存;

servlet 设定自启动及参数值在XML中配置的方法:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

Log4JInitServlet

Log4JInitServlet

log4j-properties-location

C:/myTestJava/Log4JWeb/WebRoot/ini/log4j.properties

1

WEB.xml 部分

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

importjava.io.File;import java.io.IOException; //import org.apache.logging.log4j.core.Logger;

import org.apache.log4j.*;importjavax.servlet.ServletConfig;importjavax.servlet.ServletContext;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;/*** Servlet implementation class Log4JInitServlet*/

public class Log4JInitServlet extendsHttpServlet {private staticLogger logger;publicLog4JInitServlet() {super();//TODO Auto-generated constructor stub

}/***@seeServlet#init(ServletConfig)*/

public void init(ServletConfig config) throwsServletException {//super.init(config);

ServletContext sc =config.getServletContext();

String log4jLocation= config.getInitParameter("log4j-properties-location");try{

System.out

.println("当前路径默认=======" + System.getProperty("user.dir"));

System.out.println("---配置文件路径---" +log4jLocation);

logger= Logger.getLogger(Log4JInitServlet.class);

PropertyConfigurator

.configure("C:/myTestJava/Log4JWeb/WebRoot/ini/log4j.properties");int i = 2;while ((i--) != 0) {

logger.info("Info: this is info;");

logger.debug("Debug: this is Debug;");

logger.error("Error: this is Error;");

}

System.out.println("------------------Init success");

}catch(Exception e) {

System.out.println("Warning:there is an error:" +e.getMessage());

}

}/***@seeHttpServlet#doGet(HttpServletRequest request, HttpServletResponse

* response)*/

protected voiddoGet(HttpServletRequest request,

HttpServletResponse response)throwsServletException, IOException {//TODO Auto-generated method stub

}/***@seeHttpServlet#doPost(HttpServletRequest request, HttpServletResponse

* response)*/

protected voiddoPost(HttpServletRequest request,

HttpServletResponse response)throwsServletException, IOException {//TODO Auto-generated method stub

}

}

在init中使用了XML中配置的值


http://chatgpt.dhexx.cn/article/WMyONTLE.shtml

相关文章

serverlet 区别_jsp serverlet 区别

JSP和Servlet的概念对于JSP初学者来说比较不清楚,以下总结一些个人看法: (1).简单的来说Jsp就是含有Java代码的html,而servlet是含有html的Java代码; (2).Jsp最终也是被解释为servlet并编译再执行,Jsp不过是servlet的另…

Java开发之ServLet详解

一、什么是ServLet? serverLet是javaEE中运行于服务器端的,用于接收和响应HTTP协议的请求的程序。 二、ServLet的三种实现方式 1、实现ServLet接口 步骤: (1)实现ServLet接口 (2)重写包括s…

Serverlet的生命周期

1.Servlet的生命周期 Servlet没有main()方法,不能独立运行,它的运行完全由Servlet引擎来控制和调度。所谓生命周期 ,指的是servlet容器何时创建servlet实例、何时调用其方法进行请求的处理、何时并销毁其实例的 整个过程。其完整的周期包括…

VRRP协议以及关联Track详解

一、实验 详细解释可以直接查看下面连接,是我转发CSDN大佬的连接,直接上实验 VRRP详解 R1,R2充当两个网段的PC、分别是13.1.1.0 和24.2.2.0 R5,R6充当两个PC的接入层交换机 R5 eth0/1属于vlan 2000,R6 eth0/2属于vlan…

理解VRRP协议

VRRP即虚拟路由冗余协议(Virtual Router Redundancy Protocol),它是为了避免路由器出现单点故障的一种容错协议。 如图1所示,我们把多个运行着VRRP协议的路由器抽象成一个虚拟路由器(从外边来看,就像只有一个真实的路由器在工作&…

VRRP协议原理

目录 1、VRRP概述 2、VRRP概念 3、VRRP报文 4、VRRP工作原理 5、VRRP状态机 1、VRRP概述 在基于TCP/IP协议的网络中,为了保证不直接物理连接的设备之间的通信,必须指定路由。目前常用的指定路由的方法有两种:一种是通过路由协议(比…

网络实验之VRRP协议

一、VRRP协议简介 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议。VRRP是一种路由容错协议,也可以叫做备份路由协议。一个局域网络内的所有主机都设置缺省路由&…

VRRP 协议技术详解

文章目录 **1 VRRP 技术**1.1 VRRP的基本概念1.2 VRRP协议标准模式详解**VRRP备份组****备份组成员的优先级****备份组成员的工作方式****备份组成员的认证方式****VRRP定时器****VRRP工作过程****VRRP监视功能****VRRP报文格式** 1.3 VRRP协议负载模式详解**VRRP负载均衡模式基…

vrrp协议整理

文章目录 一、 产生背景二、 基本概念三、 应用场景四、 VRRP功能五、 状态机六、 VRRP定时器七、 主备选举八、 报文特征九、 配置限制十、 问题分析 一、 产生背景 图 1 通常,同一网段内的所有主机上都存在一个相同的默认网关,如图 1所示,处…

VRRP的协议原理和配置

目录 VRRP基本概述 实验配置 ​编辑 测试结果 VRRP基本概述 VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚 拟路由器的IP地址为默认网关,实现网关的备份。 协议版本: VRRPv2 (常用)和VRRPv3, V…

VRRP协议简介与实例配置

VRRP协议简介与实例 一、前言二、VRRP术语三、VRRP状态1、Initialize状态2、Master状态3、Backup状态 四、VRRP的作用五、实例需求:1、配置PC机2、各个设备基础配置3、VRRP配置4、OSPF配置5、测试连通性6、三层交换机的VRRP配置情况7、断开LSW4的G0/0/2后VRRP配置情…

VRRP协议原理与配置

前言 局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果此时默认网关的形式访问外部网络,如果此时默认网关设备发生故障,将中断所有用户终端的网络访问,这很可能会给用户带来不可预计的损失,所以可以…

VRRP技术详解

1 概述 1.1 产生背景 随着 Internet 的发展,人们对网络可靠性的要求越来越高。特别是对于终端用户来说,能够实时与网络其他部分保持联系是非常重要的。一般来说,主机通过设置默认网关来与外部网络联系,如图 1 所示&#x…

VRRP 的基本概述

什么是VRRP 虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)是一种用于提高网络可靠性的容错协议。通过VRRP,可以在主机的下一跳设备出现故障时,及时将业务切换到备份设备,从而保障网络通信的连续性和可靠…

VRRP协议 学习笔记

1、VRRP协议 为什么使用VRRP? 解决网关的单点故障 如何配置? vrrp vrid 1 virtual-ip 192.168.1.254 //配置虚拟网关 vrrp vrid 1 priority 110 //设置优先级,默认100,范围1~254,越大越高 一、VRRP: 1、概述…

VRRP概述

可靠性是衡量一个网络的健壮程度的重要指标,一个可靠性差的网络,应对网络故障的能力相对较弱,当发生诸如网络设备故障或链路故障时,网络上所承载的业务受到的冲击往往比较大,严重时更会造成业务中断。 VRRP&#xff08…

VRRP协议是什么?详解它的工作原理

作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 前言 本文将讲解VRRP是什么,以及它的工作原理,优点以及基本概念。 目录 一、VRRP协议是什么? 二、VRR…

VRRP详解

文章目录 一、 什么是VRRP?二、为什么需要VRRP?三、VRRP工作原理1、VRRP的三种状态2、VRRP的选举机制3、VRRP工作原理 四、VRRP的应用场景1、与接口状态联动2、与路由状态联动 一、 什么是VRRP? 虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol&#x…

秒懂VRRP协议原理及配置

目录 一、VRRP的定义 二、VRRP的作用 三、VRRP的好处 四、工作原理 五、专业术语 六、实例演示 七、总结 一、VRRP的定义 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议…

决策树算法及其应用案例

决策树算法主要分为三类: ID3、C4.5、CART算法 以ID3算法为例: 对上表某图书销量进行预测. 思考:建立测试模型,各个变量数据权重?数据的转化? 重点在于:计算各个信息熵(数据预处理),可参考百度百科内容 决策树算法模块: 关注点…