当前位置:首页> 行业热点 >

全球快消息!Java servlet后端开发超详细教程

时间:2023-07-03 10:11:12    来源:脚本之家
目录
java后端介绍准备工作Servlet项目创建Servlet的基础使用导入包重写service方法设置访问路径内容实例完整代码运行servlet的生命周期类加载实例化服务销毁完整代码

java后端介绍

今天我正式开始了一个新话题,那就是 Web。目前我主要会介绍后端。作为后端的老大哥 java,也有很多后端框架,比如大家耳熟能详的 spring 等。今天来带大家入门 servlet,不管是学生,刚毕业或是已经工作自学编程的人群都能看懂。

准备工作

目前我们使用的服务器是 Tomcat,大家可以先安装 Tomcat,这一步网上有很多教程,我不再说了。然后还需要下载 idea,配置 Tomcat 和 jdk,这些网上都有,如果配置遇到问题可以私信我。

Servlet项目创建

大家先用idea 创建 web 项目,创建好后应是这样。


(资料图片)

现在在你的 src 目录下创建一个package,并命名为 com.xxxx.servlet。

然后在这个包下面创建一个 java类,名叫 servlet(你也可以自己起名字)

Servlet的基础使用

导入包

package com.xxxx.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;

主要是导入了 servlet 的基本方法。

创建 java 类,并继承自HttpServlet 类

因为我们后面还要重写 HttpServlet 类中的方法,所以要继承这个类。

public class servlet extends HttpServlet{
}

重写service方法

因为我们要处理请求,所以要重写服务类来处理请求,否则处理不了请求。

@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    }

设置访问路径

@WebServlet("/servlet01")

这行代码加在类前面,这样我们就可以通过 /servlet01 路径来访问。

内容

这里我们在控制台(idea下面)和网页(浏览器访问)里分别打印一句话 "Hello Servlet!"

System.out.println("Hello Servlet");
//通过流输出内容
resp.getWriter().write("Hello Servlet");

实例完整代码

package com.xxxx.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;
/*
* 实现 Servlet
* 1.创建 web 项目,配置 Servlet 和 Tomcat
* 2.创建普通 Java 类
* 3.继承 HttpServlet 类
* 4.重写 service 方法(处理请求,Ctrl+o,选择倒数第二个钥匙的)
* 5.处理请求
* 6.设置注解,指定访问路径
* 7.配置,见https://blog.csdn.net/Samzz33/article/details/116311106
* */
@WebServlet("/servlet01")
public class servlet extends HttpServlet{
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        super.service(req, resp);
        //打印内容在控制台
        System.out.println("Hello Servlet");
        //通过流输出内容
        resp.getWriter().write("Hello Servlet");
    }
}
 

运行

点击 idea 右上角运行图标

然后 idea 会打开 http://localhost:8080/servlet_war_exploded/

但是你看不到任何内容,因为你没有访问你刚才设置的路径。

访问 http://localhost:8080/servlet_war_exploded/servlet01

你会看到

这就成功了

servlet的生命周期

类加载->实例化->服务->销毁

类加载

类加载在服务器启动时就执行,一次一个生命周期只执行一次。

实例化

开始生命周期时,服务器判断有没有实例化,如果没有则实例化。

写一个函数 init(),在实例化时执行。

@Override
    public void init() throws ServletException {
        System.out.println("Servlet被创建");
    }

当实例化是,会在控制台输出文字。

服务

当收到请求就开始服务,一个生命周期执行多次。

@Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("Servlet被调用");
    }

销毁

一个生命周期执行一次,在服务器停止时执行,也就是你停止运行程序时。

@Override
    public void destroy() {
        System.out.println("Servlet被销毁");
    }

完整代码

package com.xxxx.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;
/*
* Servlet生命周期: 类加载->实例化->服务->销毁
* */
@WebServlet("/servlet02")
public class servlet02 extends HttpServlet{
    /*
    * 一个生命周期只执行一次,服务器判断是否存在,不存在则创建实例,自动调用
    * */
    @Override
    public void init() throws ServletException {
        System.out.println("Servlet被创建");
    }
    /*
    * 服务方法,自动调用,当接收到请求就会调用该方法,可以被多次调用
    * */
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("Servlet被调用");
    }
    /*
     * 一个生命周期只执行一次,服务器停止时运行该方法
     * */
    @Override
    public void destroy() {
        System.out.println("Servlet被销毁");
    }
}
 

到此这篇关于Java servlet后端开发超详细教程的文章就介绍到这了,更多相关Java servlet内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

标签:

上海:5月22日起,地面公交和轨道交通有条件逐步恢复运营

  上海:5月22日起,地面公交和轨道交通有条件逐步恢复运营  5月16日上午10:00,上海举行新冠肺炎疫情防控工作新闻发布会,上海市副市

2022-05-16

上海:6月1日至中下旬全面恢复正常生产生活秩序

  上海下一步防控分为三个阶段,6月1日至中下旬全面恢复正常生产生活秩序  5月16日上午10:00,上海举行新冠肺炎疫情防控工作新闻发布会

2022-05-16

瞒着父母当志愿者 她在救援车上完成毕业答辩

  她在救援车上完成毕业答辩 青岛小嫚瞒着父母当志愿者支援上海抗疫  近日,青岛小嫚王若琦在援沪救援车上完成大学毕业答辩的故事,引

2022-05-16

上海奉贤将逐步有序恢复正常生产生活秩序

  中新网5月16日电 据“上海奉贤”微信公众号消息,16日,上海市奉贤区新冠肺炎疫情防控工作领导小组办公室发布《告奉贤市民书》表示,

2022-05-16

上海:已经有15区实现社会面清零 封控区总人数降到100万人以内

  今天(5月16日)上午举行的上海市疫情防控工作新闻发布会上,上海市副市长宗明表示,本轮疫情发生以来,上海市毫不动摇坚持动态清零总方

2022-05-16

西宁公安严厉打击涉疫违法犯罪 依法处理案件72起123人

  中新网西宁5月16日电(祁增蓓)“我们严厉打击涉疫违法犯罪,5月6日以来,及时依法处理殴打辱骂防疫人员、伪造通行证件、逃避封控管理、

2022-05-16

专家:发生狂犬病Ⅲ级暴露后 需尽早使用被动免疫制剂

  中新网广州5月16日电 (蔡敏婕 何宇航)“狂犬病暴露预防处置研讨会”15日在广州举行。广东省预防医学会首席专家张永慧称,接种狂犬病

2022-05-16

孩子居家上体育课,影响楼下居家办公,算侵权扰民吗?

  “请问楼上是在跳绳吗?一蹦一蹦的,还有抽地的声音。”“不好意思,孩子在上居家体育课,有几个动作力量控制不好,已经结束了。”“剧

2022-05-16

甘肃渭源:千年渭水文化蕴“写生热” 校地合作塑学生文化涵养

  中新网甘肃渭源5月16日电 (张婧)“渭水汤汤,源远流长。”甘肃省定西市渭源县作为黄河最大支流渭河的发源地,这里民风淳厚、民居自然

2022-05-16

5月16日起 西宁市部分区域有序开放

  中新网西宁5月16日电(祁增蓓)西宁市新冠肺炎疫情防控处置工作指挥部15日晚宣布,16日起,西宁部分区域实行有序开放。  据悉,5月16日

2022-05-16