web后端(javaEE)开发——servlet

server/2024/12/22 12:22:58/

目录

一、web后端开发概述

二、web后端开发环境搭建

1.安装服务器软件

2.安装JDK

三、创建web后端项目

1.创建项目

2.修改设置

3.*在IDEA中集成Tomcat*

四、Servlet创建和应用

1.概述

2.Servlet程序创建与配置

3.分析Servlet程序结构


一、web后端开发概述

        web开发,就是指从网页中向后端程序发送请求,与后端程序进行交互。

        而web服务器的定义也很广,一般人们认为服务器就是运行服务器软件的计算机设备。但这里我们一般指的是运行在计算机上的软件,浏览器可以发送请求,由服务器做出响应。也可以在服务器中部署文件,供用户访问。

        web服务器有很多,目前流行的有Tomcat、WebSphere、WebLogic......

二、web后端开发环境搭建

1.安装服务器软件

进入官网下载Tomcat:Apache Tomcat® - Welcome!

注:tar.gz文件是Linux操作系统下的安装版本

       ● zip文件是Windows系统下的压缩版本 

2.安装JDK

(1)配置两个环境变量——path、JAVA_HOME

        这里我们介绍JAVA_HOME环境变量的配置。桌面找到此电脑,右键点击属性,在弹窗中选择高级系统设置,点击环境变量

注:如果有关于java的JDK安装和path环境配置相关问题,请移步至我的第二篇博客

《一看就会,手把手教学Java环境搭建!_安装java环境-CSDN博客》

(2)安装Tomcat

Tomcat目录介绍:

(3)启动服务器    

双击 bin 目录下的 startup.bat 文件:
        输入 http://localhost:端口号
        或http:127.0.0.1:端口号
        或局域网ip:端口号

        例如这里我输入该网址 :127.0.0.1:8080

注:只有在服务器启动时,我们才能远程访问他

(4)改变端口号

        像上面的网址最后一部分 :8080 有些人会发现他的网页无法正常访问,这很有可能是端口号被占用导致。这里我们推荐下载一款软件:Notepad++ (yingtingw.cn) 

        在我看来,该软件对程序员来说比起记事本好用一万倍,我们通过该软件的打开方式打开我们解压好的Tomcat安装包里的conf目录的server.xml文件

在第69行修改自己心仪的端口号(范围在1~65535),这里我改为了8088

三、创建web后端项目

1.创建项目

        首先在IDEA中创建一个新项目,左侧选择Java Enterprise

        勾选 Web Profile 

        创建项目名字

2.修改设置

        注释或删掉pom.xml中有关 org.junit 的部分

3.*在IDEA中集成Tomcat*

        最后我们点击Apply应用,OK即可

四、Servlet创建和应用

1.概述

        ● Servlet是Server Applet的简称,意思为用Java编写的服务器端的程序. 它运行在web服务器中,web服务器负责Servlet和客户的通信以及调用Servlet方法。
        ● Servlet的作用:
            1.接收用户发送的请求数据
            2.调用其他的java程序来处理请求
            3.根据处理结果,将结果响应给客户端

2.Servlet程序创建与配置

        创建一个类继承javax.servlet.http包下的HttpServlet,写出该类的午餐构造,重写如下三个方法

在web.xml中配置Servlet, <servlet>结构不需要改动,只改其中的黑体字部分

        这时我们就可以启动该服务器,并在浏览器中进行访问(127.0.0.1:端口号/项目名/配置的变量名)如图就可以访问到了,并在控制台进行展示

3.分析Servlet程序结构

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

因此我们可以得知一个Servlet程序的执行周期

Servlet对象生命周期   
       创建:
          第一访问Servlet程序时,由服务器创建
       初始化: 
          在构造方法执行完成后,调用init()执行一些初始化操作
        服务:
           每次请求调用service()
        销毁: 服务器关闭时,会销毁servlet对象,
              并且在销毁servlet对象时,会自动调用destroy(),执行一些最终操作

        以上就是关于一个最基本的web后端Servlet程序的创建应用过程,有关前后端交互的更多相关操作敬请期待接下来的更新!!!


http://www.ppmy.cn/server/105306.html

相关文章

依赖包更新了但是没有release,如何安装更新的依赖包

问题描述:有一个python仓库mmrotate,仓库更新了support training mmrotate on NPU (#806)这个commit, 但是pip没有release,怎么安装这个新的commit? 解决: 要安装未发布的commit&#xff0c;可以通过从Python仓库直接安装特定commit的版本。以下是安装mmrotate仓库中支持在NP…

「Python数据分析」Pandas基础,筛选数据利器:布尔索引

我们在处理数据的时候&#xff0c;数据筛选是一个重要的过程。利用布尔索引&#xff0c;我们可以选择需要的数据区间。布尔索引&#xff0c;是利用各种不等式&#xff0c;以及与或非操作&#xff0c;来对数据区间进行选择。 在pandas中&#xff0c;与操作&#xff0c;对应的是…

俄罗斯OZON秋天什么产品好卖

Top1 按摩器 BOGGE премиум массажер для шеи и плеч спины для ног многофункциональный массажер для тела электрический с подогревом. 商品id&#xff1a;1379499497…

MySQL系列—MySQL编译安装常见问题(或缺少依赖)及解决方法,MySQL 编译安装时需要安装的依赖(全)

MySQL系列—MySQL编译安装常见问题(或缺少依赖)及解决方法 MySQL 编译安装时需要安装的依赖(全)&#xff1a; yum install -y cmake yum install ncurses ncurses-devel -y yum install -y libarchive yum install -y gcc gcc-c yum install -y openssl openssl-devel yum inst…

C/C++语言基础--指针三大专题详解3,完结篇(包括指针做函数参数,函数指针,回调函数,左右法则分析复杂指针等)

本专栏目的 更新C/C的基础语法&#xff0c;包括C的一些新特性 前言 指针是C/C的灵魂&#xff0c;和内存地址相关联&#xff0c;运行的时候速度快&#xff0c;但是同时也有很多细节和规范要注意的&#xff0c;毕竟内存泄漏是很恐怖的指针打算分三篇文章进行讲解&#xff0c;本…

【C# 】使用List<实体类>

1. 使用List<实体类> 要在C#中使用List<EntityTemp>并实现查找数据输出&#xff0c;首先需要定义EntityTemp类&#xff0c;并创建一个List<EntityTemp>类型的列表。然后&#xff0c;你可以使用LINQ或其他方法来查找和输出数据。 假设EntityTemp类具有一个…

Nginx+Tomcat(负载均衡、动静分离)

目录 一、Nginx与Tomcat概述 1、Nginx应用 2、正向代理和反向代理 2.1、正向代理 2.2、反向代理 3、负载均衡模式 二、规划部署负载均衡和反向代理 1、部署 Nginx 负载均衡器 2、部署 2 台 Tomcat 应用服务器 3、动静分离配置 一、Nginx与Tomcat概述 1、Nginx应用 …

电单车TCP通讯协议对接phpworkermanHikversion充电桩上位机通讯协议

采用0x7e表示&#xff0c;若检验码、消息头以及消息体中出现0x7e&#xff0c;则要进行转义处理 <?php // ---------------------------------------------------------------------- // | GAGACQ [ GAGACQ软件定制开发 ] // --------------------------------------------…