javaWeb项目之Servlet学习笔记----初识Servlet

IDEA2023(IntelliJ IDEA)配置JavaWeb项目并运行Servlet 选中的部分就是到时候"发布"到Tomcat文件夹下的Webapps文件夹的东西, 这个文件中的项目都必须拥有一个"WEB-INF"文件夹, 并且该文件夹下必须有“lilb"文件夹: 用于存放jar包(如JDBC用的mysqljar包, 到时候就放这”"classes"文件夹: 这个放.class文件, 我们在src下创建的.java文件, 到时候IDE会自己帮我们编译成.class放到这里"web.xml"文件夹: 用于映射类名等相关配置文件; 阅读详情

1,介绍

Servlet是一门专门用于开发动态web资源的技术,Sun公司在其API中提供了一个Servlet接口(当然,我们不会去直接实现这个接口,而是去继承其实现类会更好),因此,狭义的Servlet是指这个接口,广义的Servlet是指任何实现了这个Servlet接口的类。 使用Servlet开发一个动态web资源,其实就是开发一个Java程序向浏览器输出数据。

  Servlet其实就是一个运行在服务器上得Java程序,Servlet是J2EE十三门技术中的一种,因此我们不能去看J2SE的API文档,如果是初学者,最好能看专门Servlet的API文档。我们来看Servlet的文档介绍:

 

  从这个对Servlet接口的介绍就可以看出,如果要实现Servlet接口,就要实现其所有的方法,Servlet程序是运行在web服务器上得,用来接收和响应从客户端发来的请求。当然就像我之前说的,如果自己写一个类来实现Servlet接口,那么就要复写Servlet所有的方法,但是我们可以继承其实现类,例如GenericServlet类或者HttpServlet类,这样只需要复写我们想复写的方法即可。

  Servlet中的方法包括了其生命周期方法和非生命周期的方法。在Servlet中,生命周期方法包括:init(ServletConfig config)、destroy()、service(ServletRequest req , ServletResponse res),也就是Servlet初始化、对请求进行响应服务,和Servlet的销毁。

  除了Servlet的生命周期方法,还有非生命周期方法,如getServletConfig()和getServletInfo()方法,这两个方法可以获得有关该Servlet的一些信息。

 

  Servlet生命周期是指Servlet实例从创建到响应客户端请求,最后销毁的过程。具体过程如下:

  1,  Server创建一个Servlet的实例,也就是调用了init()方法;

  2,  一个客户端的请求(对象)到达Server;

  3,  Server将请求发送给Servlet;

  4,  Servlet生成对请求的响应(对象);

  5,  Server激活Servlet的service()方法,传递请求对象和响应对象作为参数;

  6,  Service()方法获得请求对象的信息,处理请求,访问资源,获得所需的信息;

  7,  Service()方法使用响应对象的方法,将响应传回Server,最终到达客户端。Service方法还可能激活其他方法处理请求,如doGet()或者doPost()方法;

  8,  对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service方法,将这两个对象作为参数传递给它,无需再调用init()方法。一般Servlet只初始化一次。当Server不在需要Servlet时(一般是Server关闭),Server调用Servlet的destroy()方法销毁Servlet。

  从以上可以看出,Servlet生命周期上得三个方法是由服务器调用,可以说是在Servlet存在开始到销毁这个过程中的某个时刻(如果有事件触发)则必定会被执行的方法称为生命周期方法。

  因此,在Servlet中最重要的就是service()方法,要想从服务器端将资源传回客户端或者向客户端发送数据,都将在service()方法中进行。

  从service(ServletRequest req , ServletResponse res)方法来看,不仅service()方法是由服务器调用执行,连ServletRequest请求对象和ServletResponse响应对象也是由服务器提供,如果我们要写一个简单的数据给客户端,就可以在service()方法中操作ServletResponse响应对象:

  

第一个Servlet程序

package fjdingsd.web;

import java.io.*;
import javax.servlet.*;

public class FirstServlet extends GenericServlet{
     public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException
     {
          OutputStream out = res.getOutputStream();
          out.write("Hello Servlet".getBytes());
     }
}

配置web.xml

这里就有比较重要的知识点了,<servlet>和<servlet-mapping>中的<servlet-name>必须保持一致,<servlet>中的<servlet-class>必须有完整包名和类名,而<servlet-mapping>中的<url-pattern>就是我们可以设置的对外访问路径了,可以自定义路径。这个路径的设置可以不写,则为缺省值,那么浏览器中的输入地址只要有web应用名即可,但是即使设为缺省值,在<url-pattern>中,内容也一定要有斜线:“/”。

 

还有一个问题,如果对于多个Servlet在xml文件中的对外访问路径都配置一样的话,同样不能访问,如下图:

 

JavaWeb——新建项目与新建servlet 一、引言 配置好eclipse环境,接下来开始搞项目了,搞起== 二、新建项目           1.点击File——new,选择动态网页         2.填写项目名称,后面的只要前边配置好都会自动填充;         3.下一步,下一步,这个地方要勾选,注意下,生成配置文件;         4.这是新建后的项目结构,其中3 阅读详情

相关推荐

基于JSP+servlet+MYSQL的Javaweb项目

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、项目介绍二、样品实例1.市场活动界面2.线索界面三、代码1.pom文件2.web.xml文件3.市场活动1.Controller2.Service实现类3.dao.xml4.线索1.Controller2.Service3.dao5.Tran1.jsp文件6.listener总结 前言 CRM项目是寒假在家跟着视频做的一个项目,这个项目可以巩固之前Java基础以及javaweb的一些知识.途中也遇到了各种各样的问题,可以提

qq_53202786的博客 6306

初识Servlet(JSP)

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 Servlet与JSP: JSP是Servlet的简化形式,在实际执行时会编译为Servlet执行。 相比其他服务端程序,Servlet 有以下几点优势: 性能明显更好。 Servlet 在...

weixin_30384217的博客 344

IDEA项目实践——JavaWeb简介以及Servlet编程实战

本文主要讲解Java Web的相关内容以及servlet编程1xx 表示临时响应并需要请求者继续执行操作2xx 成功,操作被成功接收并处理3xx 表示要完成请求,需要进一步操作。通常,这些状态代码用来重定向4xx 客户端错误,请求包含语法错误或无法完成请求5xx 这些状态代码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错(1)XML概述(2)XML语法(3)DTD约束。

张小鱼的博客 2444

Java第四十二天,Servlet系列(五),Servlet 体系

一、Servlet 体系 Servlet GenericServlet ===> 实现 Servlet 接口的抽象类 HttpServlet ===> 继承 GenericServlet 抽象类的子抽象类 二、GenericServlet GenericServlet 实现了 Servlet 接口,而且将除了 service 方法外的其他方法都进行了空实现,即我们的自定义 Servlet 如果继承该抽象类,仅需实现 service 方法即可 package web.servlet;

愿你饱经冷暖,仍保纯真 190

JavaWeb——Servlet项目(一)

服务端与客户端之间进行表单提交 1.什么是Servlet?        Servlet 是用Java编写的服务器端程序,工作在服务端的一个API接口,通过该接口可以接收用户发送的HTTP请求,并进行处理,然后响应给客户端。 2.使用eclipse创建一个Servlet (1) 创建一个动态Web项目,命名为Servlet_test1,创建方法见笔记Java...

lucky_shi的博客 1060

2026年7月19日 从可插拔到共封装:技术路线研究报告

AI 算力的爆发正在重写数据中心光互连的技术路线。本报告对当前并存的四代光互连架构——

weixin_51184047的博客 586

servlet(动态资源)手写

1.创建一个类,继承GenericServlrt import java.io.*; import javax.servlet.*; public class FirstServlet extends GenericServlet{ public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException{

qq_45304444的博客 222

C++控制台实现简单的注册登录

C++控制台实现简单的注册登录 #include<iostream> #include<string> #include <vector> #include <conio.h> void Display();//调用display显示switch()界面 void Register();//注册 void Enter();//登录 using nam...

乔路非 2万+

javaWeb项目之Servlet学习笔记----初识Cookie

从本篇开始学习Servlet技术中的Cookie专题。   首先来了解什么是“会话”。会话是web技术中的一个术语,可以简单的理解为:用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,这个过程称为一个会话。   如果在打开一个浏览器访问一个页面后,再打开一个浏览器访问同一个页面,那这就是有两个会话;而打开一个浏览器访问一个页面后,通过这个页面上的某个超链接是从新的浏...

letgoDream的博客 268

别再为跨页读写发愁了!STM32F407模拟I2C驱动24C256/512的避坑指南

本文详细解析了STM32F407模拟I2C驱动24C256/512的跨页写入问题,揭示了24C系列存储器'写满一页不会自动翻页'的关键机制,并提供了经过验证的分页写入算法和优化方案。通过GPIO时序优化、地址计算和错误处理等技巧,帮助开发者解决数据错乱、覆盖等常见问题,实现稳定可靠的EEPROM读写操作。

weixin_42631411的博客 376

YOLO格式数据集划分

YOLO格式的数据集划分 标题标签格式txt import os import cv2 import random from PIL import Image # os.makedirs('labels_train') # os.makedirs('labels_val') img_train_path ='./img_train/' #图片训练集保存路径 img_val_path = './img_val/' #图片验证集保存路径 labels_train_path = './labels_t

weixin_51154380的博客 3307

javaWeb项目之Servlet学习笔记----初识session

https://www.cnblogs.com/fjdingsd/p/4905459.html Session是服务器端技术 利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,注意是默认情况下,一个浏览器独占一个session,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自数据存放在各自的session中,当用户再去访问...

letgoDream的博客 534

如何通过单步调试的方法,找到 SAP Gateway 到底把 Fiori 应用发送的 OData 请求,投递到哪一台 ABAP 后台服务器了?

这是一个 Count 请求,得到服务器响应的数据是 204,这个 204 会以数字的形式,显示在 Fiori Launchpad tile 上。那如果当前 Gateway 系统可以连接到多台 ABAP 后台服务器,比如下图所示,可以连接 SAP S/4HANA,ERP 或者 SAP CRM,我怎么知道 SAP UI5 应用上显示的数据,到底来自哪一台 ABAP 后台服务器呢?,就是上图 ABAP 调试器里断点停留的位置,即 SAP Frontend 服务器,通过 RFC 将 OData 请求投递给。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 640

JavaWeb-JSP+Servlet+Mysql实现JavaWeb基础项目

本篇博文是一个比较基础的JavaWeb项目,使用Servlet和JSP技术实现用户的登录,对单表的增删改查功能,适合初学者理解Web知识,掌握项目执行流程。

weixin_44606952的博客 4826

【大语言模型 21】语言模型训练目标:MLM vs CLM vs GLM对比分析

本文深入对比分析三种主流语言模型训练目标:掩码语言模型(MLM)、因果语言模型(CLM)和双空白填充(GLM)。通过数学推导、代码实现和实验对比,揭示不同训练目标的工作机制、适用场景和性能差异,为选择合适的预训练策略提供科学指导。

熵数实验室 1174

ANSYS——“There is at least 1 small equation solver pivot term”问题的解决办法

ANSYS——“There is at least 1 small equation solver pivot term”问题的解决办法

python_AI_fans的博客 1万+

【JavaWeb】JavaWeb三大组件之Servlet

因为现在我们的请求都是基于HTTP协议的,所以我们应该专门为HTTP请求写一个Servlet做为通用父类由上图我们可以看出,以后再写Servlet可以直接继承HttpServletServlet是一个标准GenericServlet是Servlet接口的子类HttpServlet是GenericServlet的子类,一个专门处理HTTP请求的ServletServletContext是一个全局的储存信息的空间。服务器开始,其就存在,服务器关闭,其才释放。一个用户可有多个request;

2302_78914800的博客 1333

【漏洞复现】爱数云盘 Usrm_GetAllUsers 未授权访问漏洞

爱数 AnyShare存在未授权漏洞,未授权的攻击者可以通过该漏洞获取用户名信息。

qq_67810151的博客 3121

Javaweb | 初识、servlet应用

Javaweb | 初识、servlet应用

wei_shuo的博客 1104

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IDEA的javaweb项目中的servlet的配置大全

IDEA的javaweb项目中的servlet的配置大全 写在前面你需要准备好的东西: ①IDEA版本不限,我用的2020. ②JDK 1.8(小科普JDK1.8其实就是JDK8) ③tomcat8.5.78(不要用最新的tomcat10.及以上版本,10以上的版本对于本文的技术不适配) ④maven 3.6.3(别问我为什么这个版本,问就是好用) 当你准备好以上的所有东西,我们开始! 创建maven项目,可以选择用骨架,但是我没有用 直接next,这里没有用骨架,然后命名,坐标就用默认 项目创建好之

qq_40480598的博客 2461

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JavaWeb——怎样编写一个Servlet程序

文章目录JavaWeb——编写一个Servlet程序1.Servlet简介2.HelloServlrt1.建一个普通的Maven项目2.建一个子项目3.Maven环境优化4.编写一个Servlrt程序编写Servlet映射配置Tomcat启动Tomcat服务器测试 JavaWeb——编写一个Servlet程序 1.Servlet简介 Servlet是Sun公司开发的用于交互式地浏览和生成数据,生成动态Web的技术。 狭义的Servlet是指Java语言实现的一个接口 但一般情况下,我们把实现了S

万里顾一程的博客 4746

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

02、javaweb--使用IDEA+Maven创建Servlet项目

使用servletContext共享数据:当前应用的所有servlet可以拿到保存着servletcontext中的数据;由于远程仓库获取文件较多,网速较慢,可以添加一个参数,只获取原型中的内部核心文件,提升加载速度;2.选择maven,勾选“Create from archetype",表明选择从远程仓库中的获取原型模板进行创建;添加新的项目子模块:右击项目的“new -> module",选择添加模板webapp并进行配置;重置工程目录:删除src文件夹,因为会将需求的新建项目作为工程主模块;

weixin_50811484的博客 2715

【JavaWeb开发项目入门】基于servlet的在线音乐服务器

此项目是最基础的JavaWeb开发项目,基于servlet+maven+css+JavaScript+html+Mysql实现,对于刚接触JavaWeb开发的小白来说比较友好,如果你对于Mysql和servlet非常熟悉,那么对于你来说应该是算比较容易。后续我会在此专栏更新基于spring的JavaWeb项目,希望读者可以关注我一起学习Web开发。

耀的博客 3917

尚硅谷全新JavaWeb教程,企业主流javaweb技术栈【学习笔记】二

1.创建SAXReader对象2.解析XML获取Document对象:需要传入要解析的XML文件的字节输入流3.获取文档的根标签4.获取标签的子标签//获取所有子标签//获取指定标签名的子标签ListsonElementList = rootElement.elements("标签名");

qq_43668996的博客 3528

基于SSM框架的JavaWeb程序设计之初识Servlet

Servlet是运行在Web服务器端的Java应用程序,它使用Java语言编写。与Java程序的区别是,Servlet对象主要封装了对HTTP请求的处理,并且它的运行需要Servlet容器的支持。在JavaWeb应用方面,Servlet的应用占有十分重要的地位,它在Web请求的处理功能方面也十分强大。Servlet容器是指提供了Servlet功能的Web容器,如tomcat、resin、weblogic等。Servlet由Servlet容器进行管理。

qq_57930222的博客 1084

javaWeb关于Servlet的学习笔记

servlet是JavaWeb的三大组件,是写在JavaWeb服务端的代码,它的作用是处理客户端发送过来的请求、并将请求优servlet的来处理,就例如客户端发出登录请求,或者输出注册请求,这些请求都应该由Servlet来完成处理!Servlet需要我们自己来编写,每个Servlet必须实现javax.servlet.Servlet接口。

m0_74096456的博客 858
上一篇: tomcat详细用法学习笔记(一)
下一篇: javaWeb项目之Servlet学习笔记----小细节
iamlinuxasd
博客等级 码龄10年 4粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值