Servlet容器部署教程

news2024/11/16 1:16:47

Servlet容器介绍

Sercvlet是基于java的动态网站开发技术,其所有类和组件都是基于java实现的,要想使用Servlet,就必须提前配置好java运行环境。Servlet基于java,可以使用几乎全部的java API,所以它的功能异常强大,完全可以胜任企业级开发,能够处理那些高并发、大吞吐量、业务逻辑复杂的应用场景。

搭建好java环境后,再安装一款web容器就可以运行Servlet代码。市场上有很多web容器,其中使用最普遍就是tomcat。

Tomcat优点:是一款免费开源的web容器,其占用资源少,扩展性好,运行稳定。

补充:

第一代java web开发技术——Servlet

第二代java web开发技术——JSP

现在的java web开发技术——各种框架

1、Tomcat下载与安装

下载地址:Apache Tomcat® - Welcome!

在下载tomcat的时候,需要将Tomcat版本与java的版本对应起来。详细信息,可以再网上搜索。其中jdk8对应的版本是:Tomcat9。

2.Tomcat目录结构

(1)bin目录:用来存放Tomcat命令,主要分为两大类。一类是以.sh结尾的linux命令,另一类是以.bat结尾的windows命令。

conf目录:主要是用例存放Tomcat的配置文件,下面是常用到的几个文件:

(2)server.xml:用来设置域名、IP、端口号、默认加载的项目、请求编码等;

context.xml:用来配置数据源等;

tomcat-users.xml:用来配置和管理Tomcat的用户与权限;

web.xml:可以设置Tomcat支持的文件类型;

(3)lib目录:主要用来存放Tomcat运行需要加载的jar包。

(4)logs目录:用来存放Tomat在运行过程中产生的日志文件,清空该目录中的文件不会对Tomcat的运行带来影响。

(5)temp目录:用于存放Tomcat在运行过程中产生的临时文件。

(6)work目录:用来存放Tomcat在运行时的编译文件。

3.Tomcat服务器配置

修改端口密码:找到tom目录/conf/server.xml。修改port的值,将port端口值修改为80.

只用修改用红笔画出的部分即可。

4.Tomcat服务器部署项目

方式1:直接在Tomcat webapps目录创建一个文件夹

方式2:在tomcat目录/conf/server.xml配置。在server.xml文件中找到hsot标签,在host标签中添加Context标签,并且在Context标签中指定path=“浏览器要访问的目录----虚拟目录”和doBase=“网站所在磁盘目录”

5、Servlet环境部署

环境搭建流程

项目中创建libs目录存放第三方jar包;

导入servlet-api.jar至libs中(可以从tomcat安装目录的lib目录获取)

创建servlet包,专门存放servlet代码

创建indexServlet实现Servlet重写方法

indexServlet类上加上@WebServlet("/miracle")注解定义URL访问路径

重写Servlet类中的services在service中编写动态资源

类IndexServlet中的内容为:

package com.web.servlet;
​
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.rmi.server.ServerCloneException;
@WebServlet("/miracle")
public class IndexServlet implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException{ } //当Tomcat容器启动的时候,会自动进行初始化
​
    @Override
    public ServletConfig getServletConfig() {
        return null;
    }
​
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
       //这个方法用于处理用户请求
        String userName=servletRequest.getParameter("userName");  //获取浏览器用户输入的参数值
        servletResponse.setContentType("text/html;charset=utf-8"); //设置Servlet的编码类型是html,编码格式为utf-8,避免出现乱码
        PrintWriter writer =servletResponse.getWriter(); //获取io写入的方法
        if ("xt".equals((userName))){
            writer.println("可以访问");
        }else{
            writer.println("不可以访问");
        }
        writer.close();
    }
​
    @Override
    public String getServletInfo() {
        return null;
    }
​
    @Override
    public void destroy() {
​
    }
}

项目结构为:

访问网址为:localhost:8080/Tomcat_test2_war_exploded/miracle?userName=xt

Servlet的配置——基于web.xml

Servlet访问流程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1508851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle 层级查询(Hierarchical Queries)

如果一张表中的数据存在分级(即数据间存在父子关系),利用普通SQL语句显示数据间的层级关系非常复杂,可能需要多次连接才能完整的展示出完成的层级关系,更困难的是你可能不知道数据到底有多少层。而利用Oracle的层级查询…

Android Framework 通过脚本动态修改应用私有文件执行权限

你只活一次 要悦己 脚本配置 Android_source/device/sprd/***/test/test_chmod.rc service test_chmod /vendor/bin/test_chmod.shuser rootdisabledoneshoton property:sys.test_chmodtruestart test_chmodAndroid_source/device/sprd/***/test/test_chmod.sh #!/system/bin/…

【CRC】一文搞懂CRC-8 SAE J1850 ZERO校验和

CRC在线计算 一、什么是 CRC 校验和 CRC —— Cyclic redundancy check 循环冗余校验,一种校验接收到的数据是否完整的算法,广泛应用于数据通信,大概流程如下 二、CRC-8 如何计算 首先,想要确定一个 CRC 算法,我们需…

论文笔记:Evaluating the Performance of Large Language Models on GAOKAO Benchmark

1 论文思路 采用zero-shot prompting的方式,将试题转化为ChatGPT的输入 对于数学题,将公式转化为latex输入 主观题由专业教师打分 2 数据 2010~2022年,一共13年间的全国A卷和全国B卷 3 结论 3.1 不同模型的zeroshot 高考总分 3.2 各科主…

web自动化测试框架都是有哪些?

Web自动化测试框架主要有以下几种: 1.Selenium:轻量级的Web自动化测试框架,支持多种Web浏览器和语言的集成。Selenium提供了一个IDE来录制和运行自动化测试脚本,还提供了WebDriver,可以通过编程语言编写自动化测试脚本…

知识积累(四):无

文章目录 1. KL散度2. GELU 激活函数3. 向量运算4. bert4.1 词嵌入4.2 cross-encoder 模型4.3 bert 架构4.4 bert 池化操作 5. Fid 模型(Fusion-in-Decoder)6. 多分类损失函数6.1 交叉熵损失6.2 softmax 损失 7. t-sne8. NDCG参考资料 1. KL散度 衡量两…

Skia最新版CMake编译

运行示例:example/HelloWorld.cpp Skia: 2024年03月08日 master分支: 993a88a663c817fce23d47394b574e19d9991f2f 使用CMake编译 python tools/git-sync-depsbin/gn gen out/config --idejson --json-ide-script../../gn/gn_to_cmake.py此时output目录会生成CM…

动态规划刷题总结(入门)

目录 什么是动态规划算法 如何判断题目中将使用动态规划算法? 动态规划题目做题步骤 动态规划题目解析 泰波那契数模型 第 N 个泰波那契数 三步问题 使用最小花费爬楼梯 路径问题 不同路径 不同路径 Ⅱ 珠宝的最高价值 下降最短路径和 地下城游…

照片的动态效果怎么弄?分享一个方法快速制作

动态的照片能够吸引注意力,增强视觉效果让信息更加生动有趣。那么,想要让自己手里的照片也变成有动态效果的图片时要怎么操作呢?这时候,只需要使用动态图片制作(https://www.gif.cn/)工具-GIF中文网&#x…

基于SSM SpringBoot vue家教交流平台

基于SSM SpringBoot vue家教交流平台 系统功能 管理员登录 家长登录注册 学生登录注册 教师登录注册 个人中心 家长信息管理 学生信息管理 教师信息管理 招聘家教管理 应聘家教管理 确认招聘管理 论坛管理 系统管理 我的收藏管理 管理员管理 开发环境和技术 开发语言&#x…

畅享精酿啤酒与意式面包的简单美味

在忙碌的生活中,我们时常渴望寻找那份简单的美好。而Fendi Club啤酒与意式面包的搭配,正是这种美好体验的代表。它们以其简洁的味道和口感,成为了无数人心中的佳品。 Fendi Club啤酒,以其醇厚的口感和细腻的泡沫,成为了…

【MySQL系列 05】Schema 与数据类型优化

良好的数据库 schema 设计和合理的数据类型选择是 SQL 获得高性能的基石。 一、选择优化的数据类型 MySQL 支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。不管存储哪种类型的数据,下面几个简单的原则都有助于做出更好的选择。 1. …

软件测试面试需要准备什么?面试有什么技巧?看完面试轻松解决

前言 无论是在校招还是社会企业招聘中,应聘者总是要经过层层的考核才能被聘用。然而,在招聘时,设置的编程以及非技术面试问题,真的有必要吗?如此就能考核出一位开发者的真实水平? 说到底就是考验你的技术以…

LuGre摩擦模型详解

文章目录 原理Matlab 实现原理

家用洗地机如何挑选?介绍几款不错的适用型号

面对繁重的家务清洁,洗地机悄然走进了我们的生活,它以智能的科技与卓越的性能,高效地清洁每一个角落,带来前所未有的居家体验。这不仅是一种清洁工具的革新,更是对舒适生活品质的不懈追求。接下来,就让我们…

蓝桥杯练习系统(算法训练)ALGO-977 P0805大数乘法

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 当两个比较大的整数相乘时,可能会出现数据溢出的情形。为避免溢出,可以采用字符串的方法来实现两个大数之间的…

计算机网络-第5章 运输层(1)

主要内容:进程之间的通信与端口、UDP协议、TCP协议、可靠传输原理(停止等待协议、ARQ协议)、TCP报文首部、TCP三大题:滑动窗口、流量控制、拥塞控制机制 5.1 运输层协议概述 运输层向它上面的应用层提供通信服务,真正…

SpringCloud(21)之SpringCloud Alibaba Nacos实战应用

一、Nacos安装 1.1 Nacos概述 Nacos是Alibaba微服务生态组件中的重要组件之一,主要用它实现应用的动态服务发现、配置管理、 服务管理。Nacos discovery alibaba/spring-cloud-alibaba Wiki GitHub Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简…

鸿蒙开发(四)-低代码开发

鸿蒙开发(四)-低代码开发 本文主要介绍下鸿蒙下的低代码开发。 鸿蒙低代码是指在鸿蒙操作系统进行应用开发时,采用简化开发流程和减少编码量的方式来提高开发效率。 1:开启低代码开发 首先我们打开DevEco Studio .然后创建工程。 如图所示&#xff…

设计模式:软件开发的秘密武器

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…