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

java 复制代码
/*
创建一个类 继承HttpServlet ,这个类就是一个javaEE程序
在web.xml文件配置,想歪提供一个访问地址,就可以在浏览器中访问,找到对应的程序
*/
public class DemoServlet extends HttpServlet {

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

    
}

servlet对象的生命周期

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

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

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

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


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

配置servlet程序和访问地址

html 复制代码
   <!--
    .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(访问地址)

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

相关推荐
Theodore_10221 小时前
4 设计模式原则之接口隔离原则
java·开发语言·设计模式·java-ee·接口隔离原则·javaee
冰帝海岸2 小时前
01-spring security认证笔记
java·笔记·spring
世间万物皆对象3 小时前
Spring Boot核心概念:日志管理
java·spring boot·单元测试
没书读了3 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
小二·4 小时前
java基础面试题笔记(基础篇)
java·笔记·python
开心工作室_kaic4 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
懒洋洋大魔王4 小时前
RocketMQ的使⽤
java·rocketmq·java-rocketmq
武子康4 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
转世成为计算机大神5 小时前
易考八股文之Java中的设计模式?
java·开发语言·设计模式
朝九晚五ฺ5 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习