Web后端开发概述环境搭建项目创建servlet生命周期

Web开发概述

web开发指的就是网页向后再让发送请求,与后端程序进行交互

web后端(javaEE)程序需要运行在服务器中

这样前端才可以对其进行进行访问

什么是服务器?

解释1:

服务器就是一款软件,可以向其发送请求,服务器会做出一个响应.可以在服务器中部署文件,让他人访问

解释2:

也可以把运行服务器软件的计算机也可以称为服务器

web交互流程图如下:

在这里插入图片描述

web服务器指的是驻留在因特网上某种类型计算机的程序

可以向浏览器等web客户端提供文档,也可以放置网站文件,让全世界哦浏览;它是一个容器,是一个链接用户与程序之间的中间件

web服务器有很多,流行的web服务器有Tomcat,WebSphere,WebLogic,Jboss

在小型的应用系统或者有特殊需求的系统重视,可以使用一个免费的Web服务器:Apache的Tomcat,该服务器支持全部JSP以及Servlet规范

APacha软件基金会(Apache Software Foundation)是专门为运作一个开源软件项目的Apache的团体提供支持的非盈利性组织

Web开发环境搭建

服务器软件安装

Tomcat

Tomcat是一个基于Java的HTTP服务器,它是Sun通过Java Community Process开发并用servlet和JavaServer Page(JSP)技术的正式参考实现。Tomcat的安装和配置都需要一定的步骤,但是在Eclipse集成环境下,可以更加方便地进行开发和调试

首先到官网下载tomcat安装包

Tomcat官方站点:http://tomcat.apache.org

安装JDK

配置环境变量

首先打开环境变量页面

在这里插入图片描述

新建一个JAVA_HOME系统变量

在这里插入图片描述

将JAVA_HOME的路径设置为bin的上一级路径

若是没配置过Path中的java\bin路径

则需要打开Path

在这里插入图片描述

将java的bin路径配置在其中

在这里插入图片描述

解压Tomcat压缩文件
Tomcat文件结构

在这里插入图片描述

在这里插入图片描述

在Tomcat文件中的bin目录中 双击startup.bat命令启动

在这里插入图片描述

出现这个页面就代表启动成功

在这里插入图片描述

访问

自己的ip地址 :8080

在这里插入图片描述

更改启动端口地址

打开conf文件夹

在这里插入图片描述

打开server.xml文件

在这里插入图片描述

找到该区域,将port改为想要的端口号

在这里插入图片描述

创建并发布web项目

在idea中集成Tomcat(修改代码后,会自动将项目重新部署到Tomcat中)

首先创建一个javaEE项目

在这里插入图片描述

勾选web profile选项 命名创建

在这里插入图片描述

创建完成后需要配置Tomcat

打开configurations页面,选择Tomcat中的local,在右边文件夹中选择Tomcat文件里bin的上一级,并对该配置进行改名,取消勾选After launch

在这里插入图片描述

在这里插入图片描述

创建完成后只需要点击绿色三角形就能启动

在这里插入图片描述

重写java中的方法

在java文件夹中创建包,在包中创建一个类继承HttpServlet

在这里插入图片描述

/*
创建一个类 继承HttpServlet ,这个类就是一个javaEE程序
在web.xml文件配置,想歪提供一个访问地址,就可以在浏览器中访问,找到对应的程序
*/
public class DemoServlet extends HttpServlet {/*
无参构造方法,默认是存在,初始化创建的对象
只被调用一次(始终只创建一个对象),在第一次访问servlet程序由服务器创建执行
*/public  DemoServlet(){System.out.println("无参构造方法");}/*init()初始化,在构造方法执行完成后,立即被调用执行完成一些servlet程序的初始化(例如,读取配置文件中参数)也是只执行一次init方法在没有需要初始化操作时,可以不用重写,服务器会调用父类中的init方法*/@Overridepublic void init(ServletConfig config) throws ServletException {System.out.println("init");}/*service()用来接受前端请求,为前端提供服务每次前端发送的请求都会调用service(),多次调用HttpServletRequest  rea: 表示请求对象,前端提交过来所有的数据都由服务器封装在此对象中HttpServletResponse resp : 表示相应对象,用来向前端相应数据*/@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("service");}/*destroy(),当服务器关闭的时候.如果程序想要最终执行某些操作,就可以在destroy方法中实现在没有最终执行的一一些操作时,也可以不用重写,但是服务器会调用父类中空的destroy方法*/@Overridepublic void destroy() {System.out.println("destory");}}

servlet对象的生命周期

servlet对象在第一次访问servlet程序时由服务器创建

初始化阶段:在构造方法执行完成后,调用init方法执行一些初始化操作

服务阶段:每一次请求调用service方法

销毁阶段:服务器关闭时,销毁servlet对象,并且在销毁对象时会自动调用destroy方法,执行一些最终操作


之后还需要在webapp中的WEB-INF文件夹里打开web.xml

配置servlet程序和访问地址

在这里插入图片描述

   <!--.xml文件:ml结尾,是一种标记语言,设计的目的是用来在项目中存储配置信息的,制定好可以使用那些标签即可web.xml文件:存储web后端项目配置信息,在服务器启动时由服务器加载读取的--><!-- 配置servlet程序,把我们开发的servlet程序注册对服务器,有服务器启动时加载,在第一次访问时,由服务器创建对象--><servlet><servlet-name>demo</servlet-name>--> <!-- 定义对象名  --><servlet-class> com.ffyc.dormServer.web.DemoServlet</servlet-class>  <!-- 注册servlet程序 --><init-param>   <!-- 向servlet中配置一些参数 --><param-name>count</param-name><param-value>10</param-value></init-param></servlet><!--为servlet配置访问地址--><servlet-mapping><servlet-name>demo</servlet-name>  <!-- 为指定name的servlet程序配置访问地址 --><url-pattern>/demo</url-pattern> <!-- 配置的供额外 --></servlet-mapping>

注意,在配置servlet访问地址时,url-pattern内部的地址前需要加/

配置完成后访问直接用

ip地址:端口/项目名/demo(访问地址)

此时打开控制台就会发现调用了之前重写的方法

在这里插入图片描述

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

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

相关文章

pytest-作用域

固件的作用是为了抽离出重复的工作和方便复用&#xff0c;为了更精细化控制固件&#xff08;比如只想对数据库访问测试脚本使用自动连接关闭的固件&#xff09;&#xff0c;pytest 使用作用域来进行指定固件的使用范围。 在定义固件时&#xff0c;通过 scope 参数声明作用域&a…

专业指南:U盘数据恢复全攻略

一、引言&#xff1a;U盘数据恢复的重要性 在信息化日益发展的今天&#xff0c;U盘已成为我们日常生活中不可或缺的存储设备。然而&#xff0c;由于各种原因&#xff0c;U盘中的数据可能会面临丢失的风险。U盘数据恢复技术便应运而生&#xff0c;它旨在帮助用户找回因误删除、…

Unity制作一个简单抽卡系统(简单好抄)

业务流程&#xff1a;点击抽卡——>播放动画——>显示抽卡面板——>将随机结果添加到面板中——>关闭面板 1.准备素材并导入Unity中&#xff08;包含2个抽卡动画&#xff0c;抽卡结果的图片&#xff0c;一个背景图片&#xff0c;一个你的展示图片&#xff09; 2.给…

【前端】简易化看板

【前端】简易化看板 项目简介 看板分为三个模块&#xff0c;分别是待办&#xff0c;正在做&#xff0c;已做完三个部分。每个事件采取"卡片"式设计&#xff0c;支持任务间拖拽&#xff0c;删除等操作。 代码 import React, { useState } from react; import { Car…

通用管理页面的功能实现

在Windows Forms&#xff08;WinForms&#xff09;应用程序中&#xff0c;创建一个通用的管理页面通常涉及对数据的增删改查&#xff08;CRUD&#xff09;操作&#xff0c;以及一些额外的功能&#xff0c;如数据过滤、排序、导出和导入等。 先看一个仓库管理页面要素。 仓库管…

Redis-主从复制-测试主从模式下的读写操作

文章目录 1、在主机6379写入数据2、在从机6380上写数据报错3、从机只能读数据&#xff0c;不能写数据 1、在主机6379写入数据 127.0.0.1:6379> keys * (empty array) 127.0.0.1:6379> set uname jim OK 127.0.0.1:6379> get uname "jim" 127.0.0.1:6379>…

windows@文件高级共享设置@网络发现功能@从资源管理器网络中访问远程桌面

文章目录 高级共享设置常用选项其他选项操作界面说明 网络类型检查和设置(专用网络和公用网络)&#x1f47a;Note 高级共享设置和防火墙&#x1f47a;命令行方式使用图形界面方式配置 网络发现网络发现功能的详细介绍网络发现的作用&#x1f47a;网络发现的工作原理启用和配置网…

无水印视频素材库有哪些?高清无水印素材网站分享!

在这个数字化时代&#xff0c;短视频创作已成为流行趋势。为了让您的视频内容更具吸引力&#xff0c;选择合适的无水印高清视频素材至关重要。今天&#xff0c;我将向您推荐几个优秀的视频素材库&#xff0c;这些资源网站将大大提高您的创作效率和视频质感。 蛙学素材网&#…

WP黑格导航主题BlackCandy

BlackCandy-V2.0全新升级&#xff01;首推专题区(推荐分类)更多自定义颜色&#xff01;选择自己喜欢的色系&#xff0c;焕然一新的UI设计&#xff0c;更加扁平和现代化&#xff01; WP黑格导航主题BlackCandy

C++ 现代教程二

线程支持库 - C中文 - API参考文档 GitHub - microsoft/GSL: Guidelines Support Library Fluent C&#xff1a;奇异递归模板模式&#xff08;CRTP&#xff09; - 简书 #include <thread> #include <iostream> #include <unordered_map> #include <futu…

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验10 IPv4地址 — 构造超网(无分类编址)

一、实验目的 1.加深对构造超网的理解&#xff1b; 二、实验要求 1.使用Cisco Packet Tracer仿真平台&#xff1b; 2.观看B站湖科大教书匠仿真实验视频&#xff0c;完成对应实验。 三、实验内容 1.构建网络拓扑&#xff1b; 2.根据各网络所指定的地址块完成以下工作&#…

pytest测试框架pytest-cov插件生成代码覆盖率

Pytest提供了丰富的插件来扩展其功能&#xff0c;本章介绍下pytest-cov插件&#xff0c;用于生成测试覆盖率报告&#xff0c;帮助开发者了解哪些部分的代码被测试覆盖&#xff0c;哪些部分还需要进一步的测试。 pytest-cov 支持多种报告格式&#xff0c;包括纯文本、HTML、XML …

Studying-代码随想录训练营day24| 93.复原IP地址、78.子集、90.子集II

第24天&#xff0c;回溯算法part03&#xff0c;牢记回溯三部曲&#xff0c;掌握树形结构结题方法&#x1f4aa; 目录 93.复原IP地址 78.子集 90.子集II 总结 93.复原IP地址 文档讲解&#xff1a;代码随想录复原IP地址 视频讲解&#xff1a;手撕复原IP地址 题目&#xff1…

音视频入门基础:H.264专题(4)——NALU Header:forbidden_zero_bit、nal_ref_idc、nal_unit_type简介

音视频入门基础&#xff1a;H.264专题系列文章&#xff1a; 音视频入门基础&#xff1a;H.264专题&#xff08;1&#xff09;——H.264官方文档下载 音视频入门基础&#xff1a;H.264专题&#xff08;2&#xff09;——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…

微服务-网关Gateway

个人对于网关路由的理解&#xff1a; 网关就相当于是一个项目里面的保安&#xff0c;主要作用就是做一个限制项。&#xff08;zuul和gateway两个不同的网关&#xff09; 在路由中进行配置过滤器 过滤器工厂&#xff1a;对请求或响应进行加工 其中filters&#xff1a;过滤器配置…

docker配置国内镜像加速器

1、搜索阿里云 2、搜索容器镜像服务 点击管理控制台 配置镜像加速器

【ARM CoreLink 系列 7.2 -- TZC-400 错误状态寄存器使用详细介绍】

文章目录 TZC-400 错误信息使用Fail address low registerFail address high registerFail control registerFail ID registerTZC-400 错误信息使用 Fail address low register 在 ARM TZC-400 设备中,每个过滤单元都有一个 fail_address_low_<x> 寄存器,其中 <x&g…

distance delayed sound

distance delayed sound 在本章中&#xff0c;我们将讨论在游戏音频中使用距离延迟的重要性。我们将首先通过一个常见的例子——闪电和雷鸣&#xff0c;来展示这种重要性并解释距离延迟音频的基础知识。我们将讨论计算速度、距离和时间的数学和方程式&#xff0c;以确定距离延迟…

【漏洞复现】安美数字酒店宽带运营系统——命令执行漏洞(CNVD-2021-37784)

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 安美数字酒店宽带运营系统 server_ping.php 存在远程命令执行漏洞&#…

【TB作品】温度DS18B20读取,温控风扇,ATMEGA128单片机,Proteus仿真

读取温度&#xff1b; PWM风扇控制&#xff1b; 蜂鸣器控制。 写博客介绍这个基于ATmega128的作品时&#xff0c;可以从以下几个方面展开描述&#xff1a; 概述 介绍项目的背景和目的&#xff0c;说明使用ATmega128的原因以及项目的整体架构。 硬件设计 主要元件 详细列出…