javaWeb之项目servlet学习笔记----1,原理及其介绍

JavaWeb网上书城项目 一、需求分析用JSP/Servlet技术开发一个网上书店,主要完成以下功能:用户:注册与登录,用户信息的修改图书:图书显示,图书的购买,购物车的管理。图书的添加,删除,查询二、系统设计1)创建相关的数据库表;2)使用MVC架构或者JSP+JavaBean,至少一个功能模块使用MVC;3)在JSP中综合使用EL 表达式,JSTL标记库,JavaBean ;4)使用过滤器完成请求参数编码的设置或登录权限的控制;5)正确完成Servlet和过滤器的配置6)使用数据库连接池进行数据库连三、程序流程图四、各功能实现代 阅读详情

 8.1.Servlet介绍

  Servlet通常称为服务端小程序,是服务端的程序,用于处理及响应客户的请求。Servlet是一个特殊的Java类,创建Servlet类自动继承HttpServlet。客户端通常只有GET和POST两种请求方式,Servlet为了响应这两种请求,必须重写doGet()和doPost()方法。大部分时候,Servlet对于所有的请求响应都是完全一样的,此时只需要重写service()方法即可响应客户端的所有请求。另外HttpServlet有两个方法:

  init(ServletConfig config):创建Servlet实例时,调用该方法初始化Servlet资源。

  destory():销毁Servlet实例时,自动调用该方法回收资源。

  通常无需重写init()和destory()两个方法,除非需要在初始化Servlet时,完成某些资源初始化的方法,才考虑重写init()方法。如果重写了init()方法,应该在重写该方法的第一行调用super.init(config),该方法将调用HttpServlet的init()方法。如果需要在销毁Servlet之前,先完先完成某些资源的回收,比如关闭数据库链接,才需要重写destory()方法。

  8.2.Servlet的生命周期

  创建Servlet实例有两个时机:

  客户端第一次请求某个Servlet时,系统创建该Servlet的实例,大部分Servlet都是这种Servlet;

  web应用启动时立即创建Servlet实例,即<load-on-start>1</laod-on-start>(LZ有篇文章详细说明:http://www.cnblogs.com/vanl/p/5756122.html)

  每个Servlet的运行都遵循如下生命周期:

  (1)创建Servlet实例。

  (2)Web容器调用Servlet的init()方法,对Servlet进行初始化。

  (3)Servlet初始化之后,将一直存在与容器之中,用于响应客户端请求,如果客户端发送GET请求,容器调用Servlet的doGet()方法处理并响应请求;如果客户端发送POST请求,容器调用Servlet的doPost()方法处理并响应请求。或者统一使用service()方法处理来响应用户请求。

  (4)Web容器决定销毁Servlet时,先调用Servlet的destory()方法,通常在关闭Web应用时销毁Servlet实例。

  8.3.Servlet的配置

  为了让Servlet能响应用户请求,还必须将Servlet配置在web应用中,配置Servlet需要修改web.xml文件。从Servlet3.0开始,配置Servlet有两种方式:

  (1)在Servlet类中使用基于注解的方式进行配置:@WebServlet

  (2)在web.xml文件中进行配置。

  

  我们用web.xml文件来配置Servlet,需要配置<servlet>和<servlet-mapping>。<servlet>用来声明一个Servlet。<icon>、<display-name>和<description>元素的用法和<filter>的用法相同。<init-param>元素与<context-param>元素具有相同的元素描述符,可以使用<init-param>子元素将初始化参数名和参数值传递给Servlet,访问Servlet配置参数通过ServletConfig对象来完成,ServletConfig提供如下方法:

  java.lang.String.getInitParameter(java.lang.String name):用于获取初始化参数

  ServletConfig获取配置参数的方法和ServletContext获取配置参数的方法完全一样,只是ServletContex是取得当前Servlet的配置参数,而ServletContext是获取整个web应用的配置参数。

  8.4.配置Spring MVC的Servlet

  

  配置Spring MVC,指定处理请求的Servlet,有两种方式:

  (1)默认查找MVC配置文件的地址是:/WEB-INF/${servletName}-servlet.xml。

  (2)可以通过修改配置文件的位置,需要在配置DispatcherServlet时指定MVC配置文件的位置。

  我们在平台项目两个工程中分别使用了不同的配置方式,介绍如下:

  我们在business-client工程中按照默认方式查找MVC的配置文件,配置文件目录为: /WEB-INF/business-servlet.xml。工程目录结构如下所示:

  

  我们在public-base-server工程中,通过第2种方式进行配置,把spring-servlet.xml放到src/main/resources/config/spring-servlet.xml,则需要在配置DispatcherServlet时指定<init-param>标签。具体代码如下:

  

  工程目录结构如下:

  

  其中,classpath是web项目的类路径,可以理解为classes目录下面。因为无论这些配置文件放在哪里,编译之后没有特殊情况的话都直接在classes下面。在我们的工程里,经过验证,maven工程这两个

  

  路径经过编译后生成的文件都位于classes目录下,即这两个路径相当于类路径,在下面创建config文件夹(folder),创建自定义的xml配置文件即可。

  8.5.classpath与classpath*区别

  同名资源存在时,classpath只从第一个符合条件的classpath中加载资源,而classpath*会从所有的classpath中加载符合条件的资源。classpath*,需要遍历所有的classpath,效率肯定比不上classpath,因此在项目设计的初期就尽量规划好资源文件所在的路径,避免使用classpath*来加载。

  8.6.ContextLoaderListener和DispatcherServlet初始化上下文关系和区别

  

  从上图可以看出,ContextLoaderListener初始化的上下文加载的Bean是对于整个应用程序共享的,一般如:DAO层、Service层Bean;DispatcherServlet初始化的上下文加载的Bean是只对Spring MVC有效的Bean,如:Controller、HandlerMapping、HandlerAdapter等,该初始化上下文只加载Web相关组件。

  注意:用户可以配置多个DispatcherServlet来分别处理不同的url请求,每个DispatcherServlet上下文都对应一个自己的子Spring容器,他们都拥有相同的父Spring容器(业务层,持久(dao)bean所在的容器)。

  9.<welcome-file-list></welcome-file-list>

  

  <welcome-file-list>包含一个子元素<welcome-file>,<welcome-file>用来指定首页文件名称。<welcome-file-list>元素可以包含一个或多个<welcome-file>子元素。如果在第一个<welcome-file>元素中没有找到指定的文件,Web容器就会尝试显示第二个,以此类推。

分析JavaWeb开发一个带有servlet的程序的webapp Servlet接口(Servlet.class文件)是Oracle提供的。Tomcat服务器中应该有这个接口,Tomcat服务器的CATALINA_HOME\lib目录下有一个servlet-api.jar,解压这个servlet-api.jar之后,你会看到里面有一个Servlet.class文件。Tomcat服务器在web.xml文件中查找/fdsa/fd/saf/d/sa/fd/sa/fd 对应的Servlet是:com.bjpowernode.servlet.HelloServlet。 阅读详情

相关推荐

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

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

张小鱼的博客 2444

Javaweb——Servlet工作原理详解

sevlet 容器 HttpSession cookie session

weixin_45864705的博客 3487

servlet介绍

详细介绍了JAVAWEB中的servlet 非常适合初学者

JavaWeb Servlet超详细讲解(附带原理)Day04

JavaWeb Servlet 1 Servlet简介 Servlet就是Sun公司开发动态web的一门技术 Sun在这些API中提供一个借口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成以下两个步骤: 编写一个类,实现Servlet接口 把开发好的java类部署到web服务器中 把实现了Servlet接口的Java程序叫做:Servlet 2 HelloServl...

Targetu 未来可期 531

Java web servlet笔记

httpservlet response

我从华为身上学到的项目管理经验 -- 需求篇

记录这三年,关于项目管理上的一些心得体会 – 需求篇对于需求,我们可以根据不同的角色、理解拆分成三个过程:简单来说就是:需求分析原始需求、 需求拆分为系统需求、 需求实现为功能需求**需求分析**: 将客户需求 输出成 需求描述。 需求经理需要把 需求 转换成 客户能够接受的 初始需求 IR(Initial Requirement) 对于用户来说,我只管提 我的原始需求是

minminzhe520的博客 3万+

jsp+servlet+jdbc实现新闻管理系统

本课程主要采用JSP+Servlet+JDBC进行单个表的数据库常用操作,为了让初学者能够更快的掌握三个技术的整合使用。演示示例中,功能包括分页展示新闻、添加新闻(并实现网页编辑器)、删除新闻、批量删除新闻、批量审核新闻、编辑新闻功能。

驻极体咪头信号采集避坑指南:如何用5V单电源搞定0.1mV~1V的音频放大?

本文针对驻极体咪头(ECM)在5V单电源系统中信号采集的常见难题,提供了详细的电路设计指南。文章深入分析了咪头的高输出阻抗与微弱信号特性,重点阐述了采用两级运放(如AD8542)实现低噪声放大、直流偏置叠加以及抗混叠滤波的完整方案,并分享了PCB布局、电源去耦等关键调试技巧,帮助工程师稳定采集0.1mV至1V的音频信号。

weixin_29291069的博客 436

javaweb之Servlet(一)简单介绍

servlet 介绍 Servlet(Server Applet)是 Java Servlet 的简称,是使用 Java 语言编写的运行在服务器端的程序。具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。Servlet其实就是一个遵循Servlet开发的java类。Servlet是由服务器调用的,运行在服务器端。 特点 方便:Servlet 提供了大量的实用工具例程,如处理很难完成的 HTML 表单数据、读取和设置 HTTP 头,以及处理 Cookie 和跟踪会话等。 跨

weixin_44044929的博客 428

魔兽世界怀旧服宏命令全解析:从自动换装到智能判定,老玩家才知道的黑科技

本文全面解析魔兽世界怀旧服宏命令的高级应用,从自动换装到智能判定,揭秘老玩家专属的黑科技技巧。深入探讨怀旧服特有的宏命令机制,包括施法队列、装备切换系统和职业专属技巧,帮助玩家在经典旧世版本中提升战斗效率。

weixin_29230865的博客 730

微信图片.dat文件解密实战:用Python一键转PNG(附完整代码)

本文详细介绍了如何通过Python解密微信图片.dat文件并转换为PNG格式的完整教程。文章深入解析了微信.dat文件的异或加密原理,提供了自动检测密钥的Python脚本,并分享了批量解密和性能优化的实用技巧,帮助用户轻松恢复和整理微信聊天图片。

weixin_29096377的博客 465

【JavaWeb】Servlet(一)——原理篇

前文说到,"Servlet 技术的核心是 Servlet 接口,它是所有 Servlet 类必须直接或者间接实现的一个接口"让我们来看一看Servlet接口中定义了哪些方法。

m0_55908255的博客 1638

Unity卡通渲染实战:原神PMX模型Blender转FBX全流程

卡通渲染是二次元游戏开发的核心技术之一,其本质在于对光照模型、顶点色控制与边缘光生成的精准建模。本文从基础概念切入,解析MMD PMX格式的数据结构原理,阐明顶点色(Vertex Color)与Toon Ramp贴图在风格化渲染中的技术价值;进而覆盖Blender到Unity的跨引擎资产流转关键路径,重点解决法线校准、骨骼命名适配、FBX导出参数配置等工业级断点问题;最终落地于Unity内置管线与URP双环境下的卡通Shader定制与Render Feature实现。内容聚焦原神风格角色资产重铸实践,涵盖P

weixin_38166557的博客 436

JavaWeb之Servlet详解

zxc412728的博客 9221

在没有信用卡的情况下怎么申请谷歌云(Google Cloud)?

这笔额度足够用来跑一台云服务器、部署小型网站,甚至可以尝试 AI、机器学习等项目。但问题来了——想要拿到这 300 美元,你必须先通过支付方式验证。默认选项就是绑定一张国际信用卡(Visa、MasterCard 之类),然而不少人没有信用卡,或者信用卡无法支持国际支付,结果就卡在注册第一步。很多人会疑惑:既然是送额度,为什么还要绑卡?原因其实很简单:谷歌需要确认你是真实用户,而不是批量注册薅羊毛;通过支付验证,后续如果你用完 300 美元额度,可以直接进行付费使用;

m0_74824483的博客 5653

Python爬虫实战:美团商家数据采集系统

本文将详细介绍如何使用Python最新技术栈构建高效的美团商家信息采集系统。内容涵盖异步爬虫、反爬对抗、数据存储、可视化分析等完整流程,提供可落地的代码方案和工程实践。

2201_76125261的博客 2658

JavaWeb三大组件【Servlet】【Filter】【Listener】学习笔记

本文主要详细讲解JavaWeb的三大组件:Servlet、Filter、Listener。内容包括三者的基本语法、用法,同时包含一个三者的综合案例,同时案例富有详细的解说

热爱编程、热爱生活、热爱探索 3179

深度学习流体力学:基于PyTorch的物理信息神经网络(PINN)完整实现

本文介绍了基于物理信息神经网络(PINN)的深度学习流体力学求解器实现。首先阐述了Navier-Stokes方程的理论基础,包括连续性方程和动量守恒方程,并解释了PINN的核心原理:将物理方程作为约束条件嵌入神经网络损失函数。以经典的lid-driven cavity流动为例,详细展示了使用PyTorch实现的全流程,包括神经网络架构设计、自动微分求解Navier-Stokes方程、多约束条件优化训练等关键环节。该求解器通过将物理方程、边界条件和初始条件整合到损失函数中,实现了对流体力学问题的端到端求解,为

源代码杀手的博客 9839

JavaWeb-Servlet底层原理&创建项目

我们之前的博客写过很多的关于BS架构通信的原理, 但是今天我们的原理是最深刻的, 我们画图模拟一下。中的相关方法, 我们提供一个JavaEE的帮助文档, 这里我们提供两个, 我们用的是。上面我们解释了, 上面的代码找不到, 所以根部完不成编译, 此时我们就要找到相关的。所以我们更改我们的类加载的路径, 类加载的路径除了当前路径还有。注意, 下面我们的类都是在一个包下面的, 所以没有导包的操作。是一套接口, 其实这个说法还不是很准确, 准确的说,很显然, 我们此时的程序是根本无法完成编译的,

2301_81486828的博客 648

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

JavaWeb-Servlet

本文摘要: 介绍了软件系统两大架构(C/S和B/S)的优缺点,B/S架构因其无需安装客户端、便于升级维护而成为主流。重点阐述了JavaWeb开发的优势,包括Java语言特性、面向对象特点和庞大的类库支持。讲解了HTTP/TCP协议层级关系,以及JavaWeb核心组件Servlet和JSP的原理。最后说明了Maven的项目管理和依赖配置功能,包括修改本地仓库路径等设置要点。文章从架构选择到具体实现,为JavaWeb开发提供了系统性的技术概述。

m0_72900498的博客 937

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

JavaWeb——Servlet

JavaWeb——Servlet Tomcat工作机制动画演示(点击动图可全屏观看) 什么是Servlet Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。 Servlet运行于支持Java的应用服务器中。从实现上讲,S

qq_42946963的博客 7031

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Servlet实现共享数据JavaWeb组件

Servlet JavaWeb三大组件包括,Servlet组件(接受请求,响应数据),Filter组件(过滤,拦截请求),Listener组件(监听器),这三大组件构成了javaWeb核心内容,也是作为后端来说,JavaWeb最重要的内容。 Servlet组件: 什么是Servlet组件:处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西。 整个过程为: 客户端发送请求至服务器端; 服务器将请求信息发送至 Servlet; Servle

分享技术,享受生活 6247

【JavaWeb】Servlet开发流程

如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享,但这样你的应用放到其他Tomcat下时就不能再共享这个目录下的jar包了,所以建议只把Tomcat需要的jar包放到这个目录下;但是我们并不会将部署的项目所依赖的jar包放到这个lib里,因为这个lib中是公用的,但是并不是所有的项目都需要这个lib中的所有的jar包。但如果只在当前项目导入Tomcat的依赖,旁边的Provided表示依赖的作用域。

qq_39921135的博客 1592

javaweb Servlet

摘要:Servlet是用于扩展Web服务器功能的Java类,由容器管理其生命周期(初始化、服务、销毁)。Servlet支持三种作用域(Application、Session、Request)实现数据共享。Filter作为Servlet规范中的拦截器,用于请求预处理/后处理。Listener则监听应用、会话和请求的各种事件(如启动/销毁、属性变更等)。三者协同工作,Filter处理请求流,Listener监控状态变化,Servlet处理核心业务逻辑,共同构建完整的Java Web应用架构。

chxii的专栏 2251

JavaWeb之Servlet

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。 狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,我们将Servlet理解为后者。

小小张自由—>张有博 5274

javaweb的servlet的简单介绍和应用

javaweb的入门 servlet的简单介绍,用servlet实现下载功能,图片验证码功能等。 Servlet 1、简介 Servlet就是sun公司开发动态web的一门技术 sun在这些API中提供一个接口叫:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤: 编写一个类,实现Servlet接口 把开发好的java类部署到web服务器中。 把实现了Servlet接口的java程序叫做,Servlet 2、HelloServlet Servlet接口Sun公司有两个默认

qq_44863646的博客 421
上一篇: SSM框架下各种jar包的作用
下一篇: javaWeb项目之web.xml配置
iamlinuxasd
博客等级 码龄10年 4粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值