JAVAEE—servlet的概念及使用,使用servlet接口实现一个表白墙

文章目录

  • servlet的概念
    • 静态页面和动态页面
    • servlet的作用
  • 写出一个servlet程序
    • 目录的创建
    • 设置smart tomcat
    • 编写helloworld

servlet的概念

首先我们要搞明白什么是servlet,servlet是一种实现动态页面的技术,他是由tomcat提供给程序员的一组API可以帮助程序员开发一个web程序那么既然我们说到了实现动态页面我们首先就要搞清楚什么是静态页面什么是动态页面

静态页面和动态页面

我们所说的动态页面和静态页面其实指的是说这个页面在不同的条件下它的内容会发生改变,而静态页面则是指不同用户,在不同地点的不同时间打开这个页面的时候这个页面的内容并没有发生任何的改变。 对应的动态页面就是指我们打开后内容会发生变化,比如说b站之类的会根据我们个人的喜好给我们推荐视频。

servlet的作用

  • 允许程序员注册一个类在tomcat收到某个特定的HTTP请求的时候tomcat会执行这个类中的代码
  • 帮助程序员解析HTTP请求把HTTP请求从一个字符串解析成一个HTTPRequest对象
  • 帮助程序员制造出特定的HTTP响应程序员只需要将自己要返回的内容写入HTTPResponse对象填写一些属性字段servlet就会自动的安装HTTP协议的方式构造出一个HTTP响应字段并通过socket接口返回

写出一个servlet程序

首先我们想要写出一个servelet程序第一件事情肯定是要创建一个项目这里我们创建一个什么项目呢?答案是一个mavean项目,那么创建好之后我们还要引入servlet的各种接口那么这里的引入和我门平时的引入是有一些区别的,这里的引入呢是在配置文件中进行导入那么具体该怎么做呢?我们只需要在配置文件中加入这样一段代码就可以了

<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency>

在这里插入图片描述
当我们的项目创建好之后我们只需要在pom.xml这个文件中导入依赖就可以了,导入方法就是将上面的代码导入即可。此外我们导入的时候要注意导入的serlet版本与tomcat版本要一致参照表格如下
在这里插入图片描述

目录的创建

当我们创建好项目之后我们还有一些工作要做那就是创建好我们需要创建的目录,那么我们需要创建哪些目录呢?首先就是我们的web目录结构如下
在这里插入图片描述

这里我们的web目录实在main目录下并且其结构位webapp->WEB_INF->web.xml,那么这个web.xml中包含了哪些东西呢?我们把这段代码复制进去

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app><display-name>Archetype Created Web Application</display-name>
</web-app>

设置smart tomcat

在这里插入图片描述
在这里面主要就是这个context path这个路径,因为我们的这个路径是我们在访问的时候第一级路径。

编写helloworld

那么上面配置搞好了之后我们来写一个helloworld,那么想要写出代码我们首先要调用方法才可以,在这里我们用的方法不是main方法而是下面这两个

import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/login2 ")
public class login extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("hello world");resp.getWriter().write("hello world");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {}
}

其中我们主要的代码就是这样用到的方法也就是这两个方法那么我们先运行一下,那么我们运行起来之后我们如何用浏览器去访问呢?
那就需要我们输入url这个url是有规定的首先我们代码中必须要加上的一个代码就是下面的这个

@WebServlet("这里面随便写前提是必须以(‘/’)开头模仿上面的代码")

并且我们上面说的Context path是作为一级目录使用比如说我们的代码url如何写呢?如下

	http://127.0.0.1:8080/test_login2/login2

然后我们来看一下最终的效果
在这里插入图片描述
很明显我们成功了确实是非常的不容易啊历经这么多的步骤才写出来了一个helloworld并且在初次学习的时候我们肯定会遇到各种各样的坑和错误那么我们应该做的就是耐心去调整代码在错误中进步

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

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

相关文章

好用的电子文档管理系统应具备哪些功能?

文档是我们工作生活的基本组成部分&#xff0c;但你可能没有注意到花了多少时间处理它们。 良好的电子文档管理可以节省时间并简化整个组织的流程&#xff0c;来进一步了解下吧&#xff01; 文档管理软件的用例 电子文档管理系统,8Manage EDMS,高亚科技 文档管理不仅仅是组…

html中引用视频文件的方式有哪些?

在HTML中引用视频文件的方式有以下几种&#xff1a; 使用 <video> 标签&#xff1a;通过使用 <video> 标签来嵌入视频文件&#xff0c;可以设置视频的大小、播放控件和其他属性。示例代码如下&#xff1a; <video src"video.mp4" controls width&qu…

信息安全实战01_基于AES(CMAC)加密算法脚本开发

本文框架 前言1. 基于AES128的CMAC认证脚本开发1.1 hex文件解析1.2 涉及的Python库1.3 读取待认证的hex数据1.4 计算CMAC1.5 CMAC填充1.6 Chechsum的计算前言 在信息安全中有两个非常重要的应用:安全启动及安全刷新,所谓安全启动即是在用户程序启动前,先进行校验,防止恶意…

【学习笔记二十九】EWM较特殊的业务场景

一、供应商寄售业务相关 1.创建寄售物料、寄售信息记录以及寄售的采购订单 2.创建交货单 3.维护入库交货 行项目里存在C寄售的标识 4.创建上架的仓库任务并确定 查看仓位库存&#xff0c;发现仓位库存里存在寄售标识C以及寄售库存所有方 5.寄售转自有 ①首先MIGO里进行寄…

【吊打面试官系列】Java高并发篇 - Java 中的同步集合与并发集合有什么区别?

大家好&#xff0c;我是锋哥。今天分享关于 【Java 中的同步集合与并发集合有什么区别&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; Java 中的同步集合与并发集合有什么区别&#xff1f; 同步集合与并发集合都为多线程和并发提供了合适的线程安全的集合&…

C语言-宏定义2.0

无参宏 这些宏没有参数&#xff0c;它们只是简单地将一个特定的文本替换为另一个文本 无参宏意味着使用宏的时候&#xff0c;无需指定任何参数&#xff0c;比如&#xff1a; #define PI 3.14 #define SCREEN_SIZE 800*480*4 int main() {// 在代码中&#xff0c;可以…

【团体程序设计天梯赛】往年关键真题 L2-033 简单计算器 栈 L2-035 完全二叉树的层序遍历 树 详细分析完整AC代码

【团体程序设计天梯赛 往年关键真题 详细分析&完整AC代码】搞懂了赛场上拿下就稳 【团体程序设计天梯赛 往年关键真题 25分题合集 详细分析&完整AC代码】&#xff08;L2-001 - L2-024&#xff09;搞懂了赛场上拿下就稳了 【团体程序设计天梯赛 往年关键真题 25分题合…

微隔离实施五步法,让安全防护转起来

前言 零信任的最核心原则→最小权限 安全的第一性原理→预防 零信任的最佳实践→微隔离 “零信任”这个术语的正式出现&#xff0c;公认是在2010年由Forrester分析师John Kindervag最早提出。时至今日&#xff0c;“零信任”俨然已成安全领域最热门的词汇&#xff0c;做安全…

盛银消费金融2023年年报: 坚持稳中求进、稳中求变

近日&#xff0c;盛银消费金融发布了2023年年报。报告期内&#xff0c;截至报告期末&#xff0c;公司资产总额65.87亿元&#xff0c;增幅12.57%&#xff1b;贷款余额57.92亿元&#xff0c;增幅8.43%&#xff1b;营业收入2.43亿元&#xff0c;增幅36.36%&#xff1b;净利润0.82亿…

想要接触网络安全,应该怎么入门学习?

作为一个网络安全新手&#xff0c;首先你要明确以下几点&#xff1a; 我刚入门网络安全&#xff0c;该怎么学&#xff1f;要学哪些东西&#xff1f;有哪些方向&#xff1f;怎么选&#xff1f;这一行职业前景如何&#xff1f; 其次&#xff0c;如果你现在不清楚学什么的话&…

物联网实战--平台篇之(二)基础搭建

目录 一、Qt工程创建 二、数据库知识 三、通信协议 四、名词定义 本项目的交流QQ群:701889554 物联网实战--入门篇https://blog.csdn.net/ypp240124016/category_12609773.html 物联网实战--驱动篇https://blog.csdn.net/ypp240124016/category_12631333.html 一、Qt工程…

如何使用ChatGPT进行高效的中文到科学英文翻译?

如何使用ChatGPT进行高效的中文到科学英文翻译 在全球化加速的今天&#xff0c;科学交流往往需要跨越语言障碍。特别是在科研领域&#xff0c;有效地将中文研究成果转化为精准的科学英语描述&#xff0c;对于学术发表和国际合作尤为关键。AI翻译工具如ChatGPT可以在这一过程中…

ubuntu入门

基础命令 cd 切换命令 ls 查看当前目录下所有的文件 cp a.c b.c 拷贝a.c 到 b.c touch a.c 创建a.c文件 mkdir file 创建文件夹file rm file 删除文件 rmdir 删除test文件夹 rmdir test/ mv 移动文件 mv a.c b.c 把a.c 替换成b.c ifconfig 查看电脑网络信息 rm xx 删…

vue3子组件调父组件方法

在 Vue 3 中&#xff0c;子组件通常不会直接调用父组件的方法&#xff0c;因为这同样违反了组件之间的单向数据流原则。然而&#xff0c;你可以通过$emit方式实现子组件通知父组件并执行某些操作&#xff1a; 父组件 子组件可以通过 $emit 触发一个自定义事件&#xff0c;并传递…

程序员商业模式画布

首先&#xff0c;我们来关注价值主张。这个提议的核心理念是减轻那些认为学习是痛苦过程的人的困扰&#xff0c;给他们一点激励&#xff0c;好让他们能够持续、轻松地学习。 我们的目标是通过为学习过程增添乐趣&#xff0c;来缓解那些不太愿意学习的人的痛苦感&#xff0c;从…

SPRINGBOOT从入门到精通

************************************************************************************************************************************************************** 1、入门概述 【1】共计十六章节 【2】入门、配置、日志、Web开发、数据访问、启动配置原理、starters 【…

虹科Pico汽车示波器 | 免拆诊断案例 | 起动机免拆诊断故障 2 例

电磁开关、换向器烧蚀及炭刷磨损均会导致起动机偶尔不工作&#xff0c;使发动机偶尔无法起动。由于故障是偶发的&#xff0c;且没有故障代码&#xff0c;这往往会让维修人员无从下手&#xff0c;而用Pico示波器测量起动电流&#xff0c;就会让这些“亚健康状态”一目了然。 案例…

MongoDB磁盘空间占满,导致数据库被锁定,如何清理数据和磁盘空间

一、问题 1、我在实际项目中&#xff0c;遇到一个问题&#xff0c;随着数据每天的不断增加&#xff0c;导致mongodb的磁盘空间站满了&#xff0c;数据库被锁了&#xff0c;无法使用。 2、故障表现 部署的应用程序突然无法将数据写入数据库&#xff0c;但是可以正常读取数据。…

与 Apollo 共创生态:观看7周年大会的心路历程

前言 在科技飞速发展的今天&#xff0c;自动驾驶技术已然成为行业创新的热点之一。作为一名长期关注自动驾驶领域的技术人员&#xff0c;我有幸见证了Apollo平台的成长与壮大。七年前&#xff0c;Apollo的诞生为我们带来了无尽的想象与期待&#xff1b;七年后的今天&#xff0…

1天搞定uniApp+Vue3+vite+Element UI或者Element Plus开发学习,使用vite构建管理项目,HBuilderX做为开发者工具

我们通常给小程序或者app开发后台时&#xff0c;不可避免的要用到可视化的数据管理后台&#xff0c;而vue和Element是我们目前比较主流的开发管理后台的主流搭配。所以今天石头哥就带大家来一起学习下vue3和Element plus的开发。 准备工作 1&#xff0c;下载HBuilderX 开发者…