servlet的两种配置访问方式

Servlet—servlet两种配置方式 servlet两种配置方式 阅读详情

servlet的两种配置访问方式

1.Servlet使用Web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
            xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
            id="WebApp_ID" version="3.1">

	<servlet>
		<servlet-name>my</servlet-name>
		<servlet-class>com.qcby.MyServlet</servlet-class>
		<!-- 启动的优先级,数字越小越先启动 -->
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>my</servlet-name>
		<url-pattern>/myservlet</url-pattern>
	</servlet-mapping>
	
	<servlet>
		<servlet-name>second</servlet-name>
		<servlet-class>com.qcby.SecondServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>second</servlet-name>
		<url-pattern>/second</url-pattern>
	</servlet-mapping>
	
</web-app>

①:url-pattern定义的匹配规则说明

精确匹配/具体的名称只有url路径是具体的名称的时候才会触发Servlet
后缀匹配*.xxx只要是以xxx结尾就匹配触发servlet
通配符匹配/*匹配所有请求 (在访问的时候/后边写什么都能匹配到当前的资源),能够访问到服务器上的所有资源
通配符匹配/匹配所有请求,能够访问到服务器上的所有资源,不包括 .jsp

②:load-on-startup

该标记用来标记这个servlet程序什么时候被加载

1.他的值是一个整数,表示被servlet加载的顺序

2.如果该标签的值是负数或者没有值,表示该servlet会被等到请求时在加载,如果设置了就会在tomcat启动时加载

3.如果值为正数或者0时,表示tomcat会在启动时加载该servlet,值越小,优先级越高,值相同时容器会自己选择加载顺序。

2.Servlet使用注解配置(推荐)

@WebServlet("/LoginServlet")
@WebServlet(value={"/my","/myservlet"}) //value:配置url路径,可以配置多个
@WebServlet(urlPatterns={"/my","/myservlet"}) //配置url路径,和value作用一样,不能同时使用
@WebServlet(urlPatterns={"/my","/myservlet"},loadOnStartup=0)//loadOnStartup:配置servlet的创建时机
public class LoginServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}
Servlet的urlPattern配置及XML配置Servlet Servlet的urlPattern配置及XML配置Servlet示例 阅读详情

相关推荐

AI驱动Spine骨骼动画生成:从图像拆分到动画自动化的全流程解析

计算机视觉与生成式AI技术正深度赋能传统数字内容生产流程。在2D动画制作领域,骨骼动画技术通过模拟真实生物关节运动,实现了角色动画的高效制作与灵活控制。其核心原理在于将角色拆分为独立部件,通过骨骼层级关系驱动部件变换,结合关键帧插值算法生成流畅动作。这项技术的工程价值在于大幅降低动画制作门槛,提升内容生产效率,尤其适用于游戏开发、影视预演、广告设计等需要快速原型迭代的场景。本文聚焦于如何利用SIFT特征匹配、RANSAC几何验证等CV算法实现部件自动对位,并结合动画12原则的程序化实现,构建从单张角色立绘到

weixin_28696185的博客 1508

使用三种方式创建servlet并配置访问成功

使用三种方式创建servlet并配置访问成功

m0_56423338的博客 501

反向代理的隐形陷阱:为何你的HTTPS请求会降级为HTTP?

本文深入探讨了Nginx反向代理中HTTPS降级为HTTP的隐形陷阱及其安全风险,分析了五大降级诱因,包括协议信息丢失、重定向配置错误等,并提供了完整的防御性配置方案和实战指南,帮助开发者确保Web应用的安全性。

kotlin6android的博客 453

访问Servlet的三种方式

访问Servlet的三种方式

weixin_51182359的博客 4656

UFS电源管理实战:如何优化手机存储的功耗与性能(附实测数据)

本文深入探讨了UFS电源管理的实战优化策略,旨在平衡手机存储的功耗与性能。通过解析UFS核心电压域与工作状态,重点介绍了通过动态调整bActiveICCLevel(活动电流等级)来实现精细控制,并结合实测数据与场景驱动的智能策略,为Android系统与硬件工程师提供了降低功耗、提升流畅度的有效方法。

weixin_29214559的博客 503

通俗地解释一下 EMD(经验模态分解,Empirical Mode Decomposition)

EMD 就像把一碗“混在一起的面条”分成不同粗细的面条,方便你逐层分析每种波动。

qlkaicx的博客 1246

Servlet访问路径的配置

Servlet访问路径的配置

m0_67491592的博客 1228

Bioconductor核心包(GO.db等)安装失败排查指南:从版本冲突到网络优化

本文详细解析了Bioconductor核心包(如GO.db)安装失败的常见原因及解决方案,包括版本冲突、网络问题和依赖关系。通过版本检查、镜像配置和依赖管理等方法,帮助用户高效解决安装难题,提升R语言生物信息学分析的工作效率。

weixin_29066781的博客 425

【servelt原理_8_servlet的两种配置访问方式】

①:url-pattern定义的匹配规则说明。1.Servlet使用Web.xml配置。@WebServlet注解常用属性。

edwer93的博客 173

第154章 点云大规模并行处理(GPU加速)

优化点云处理✨ 使用。

yumeiguo的博客 374

山羚羊优化算法(MGO)详解:从自然智慧到优化引擎

山羚羊优化算法(MGO)是一种新型元启发式算法,灵感来源于山羚羊的社会行为和等级制度。该算法模拟了四种核心行为:领地独居雄性(局部开发)、母系山瞪羚群(群体协作)、单身雄性山瞪羚(全局探索)和迁徙觅食(动态扰动)。MGO通过数学建模将这些生物行为转化为优化机制,在探索与开发间实现平衡。算法已成功应用于函数优化、无人机路径规划和支持向量机优化等领域,展现出优异的性能。未来研究将聚焦于参数自适应调整、混合算法设计等方向,以进一步提升算法性能。

qq_42212808的博客 202

Servlet注解的两种方式

最近项目里面有Servlet,以前学过,但是忘记了,所以重新温习一下。Servlet有两种注解方式。 web.xml注解 我这里直接插入代码块 <servlet> <servlet-name>Action</servlet-name> <servlet-class>com.example.servlet.ActionSer...

a1920135141的博客 6054

apple游客下单逆向分析

Apple游客下单Cookies注册激活流程逆向分析与算法实现

吴秋霖的博客 1998

配置Servlet的两种方式

1. 方式一、在web.xml文件中配置(传统) **web.xml的位置:/Xxx/WebRoot/WEB-INF/web.xml** 详细配置: &amp;lt;servlet&amp;gt; &amp;lt;servlet-name&amp;gt;HelloServlet&amp;lt;/servlet-name&amp;gt; &amp;lt;servlet-class&amp;gt;co

Java_Rookie_Xiao的博客 3575

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Servlet必须掌握的两种常用配置,今天你掌握了吗?

文章目录Servlet简单了解Servlet常用的两种配方式XML配置实现步骤代码展示注解配置实现步骤代码展示两者区别 Servlet简单了解 Servlet常用的两种配方式 XML配置 实现步骤 新建一个JavaEE项目 定义一个类实现Servlet接口 实现接口中的所有抽象方法 web.xml文件中去配置servlet 代码展示 首先需要创建一个JavaEE项目,创建项目的步骤很简单...

Java码农ing的博客 671

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

servlet 基本配置

本文简单介绍下通过「 web.xml 文件」以及通过「注解」的方式简单配置 servlet。 通过 web.xml 文件 为方便阅读,项目目录结构如下图所示: 其中 ServletDemo1 中的 ServletDemo1 类需要实现 Servlet 接口内容,代码如下: package com.demo.web.servlet; import javax.servlet.*; import ...

格物致知,知行合一。 1613

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

JavaWeb_通过xml配置文件配置servlet访问路径

Servlet两种访问路径      一、在Servlet类中通过设置@WebServlet标注访问   二、在web.xml中编写配置文件   第一种能比较直观看到Servlet路径,但当项目发布后不好再对Servlet路径进行修改   第二种把Servlet路径在web.xml中配置, 能更好对Servlet路径进行配置的修改      利用Servlet处理注...

weixin_30662849的博客 2400

Servlet的xml配置与注解配置

xml配置 创建一个Servlet类用于测试 package Servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public cla

g648204988的博客 4521

SpringBoot整合Servlet的两种方式

1.通过注解扫描完成Servlet组件的注册(组件扫描注册); 这种方式在控制台看到了相关的输出信息,但是在浏览器打开的时候是错误的页面信息 @ServletComponentScan("com.jlt.workplat.report.servlet") // 在SppringBoot启动时扫描@WebServlet,并将该类实例化 @EnableRedisHttpSession(m...

u012206730的专栏 391

Servlet详解

从简介到生命周期到如何配置xml,详细讲解了Servlet

m0_61820867的博客 1万+

java web 配置访问路径_JavaWeb_通过xml配置文件配置servlet访问路径

Servlet两种访问路径一、在Servlet类中通过设置@WebServlet标注访问二、在web.xml中编写配置文件第一种能比较直观看到Servlet路径,但当项目发布后不好再对Servlet路径进行修改第二种把Servlet路径在web.xml中配置, 能更好对Servlet路径进行配置的修改利用Servlet处理注册登录请求  传送门项目结构packagecom.Gary.servlet...

weixin_33873297的博客 888

Javaweb之注解访问servlet和web.xml配置文件

一、在这里顺便回顾一下servlet 1、首先servlet用于对用户的请求及响应 2、以及servlet接口需要实现的的五个方法: 二、两种方式前面过程是一样的,创建一个web工程 1、创建一个dynamic web project,本人命名为:ServerletDemo_WebServerlet 2、next两下,勾选Generate web.xml(后面...

weixin_30896763的博客 494

Java Servlet

什么是Servlet? Servlet 是JavaWeb开发的基石,与平台无关的服务器组件,它是运行在Servlet容器/web应用服务器(Tomcat)上的,负责与客户端进行通信 Servlet运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库之间的中间层 Servlet的功能: 创建...

立志欲坚不欲锐,成功在久不在速度 2984

创建、配置Servlet

1、创建Servlet 2、选择继承的类及需要覆盖的方法 3、Servlet结构 package com.sysker.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet;...

dfay89490的博客 170

servlet配置访问地址--Javaweb

>什么是servlet Servlet(Servlet Applet),全称Java Servlert .是用Java编写的服务器端程序。其主要功能在与交互式的浏览和修改数据,生成动态Web内容。狭义的servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet的类,一般情况下,人们将Servlet理解为后者。比如HttpServlet类继承自Servlet类,可以利用继承Http Servlet 来实现Http请求,当不是Http请求的时候,也可以定义其他形

chenzitian6058的博客 1351
上一篇: servlet接口和类
下一篇: url和http协议+请求+响应
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值