两种方法用IDEA创建一个Servlet程序 新手教程详解

2023-05-16

1 Servlet 是什么?

     Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

2 部署Tomcat并创建一个Servlet程序

2.1 创建一个普通的java程序

      页面左上角,点击文件 -> 项目 -> 新建项目:

2.2 添加框架支持

         为新建的名为Servlet_test的项目添加框架支持(Add Framework Support)

        在Java EE下找到Web应用程序(Web Application)并勾选。 

【Java EE是sun公司推出的企业级应用程序】

        狭义的 Java EE 是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件,可以说是一个框架,也可以说是一种规范。广义的 Java EE 包含各种框架,其中最重要的就是 Spring 全家桶。Spring 诞生之初是为了改进 Java EE 开发的体验,后来逐渐成为了 Java Web 开发的实际标准。

        可以看到,在左侧项目栏增加了一个web文件夹

 2.3 配置项目

①在WEB-INF文件夹下创建两个文件夹:lib和classes,并在lib文件夹下添加Servlet-api.jar

       在创建好Servlet程序后,会调用servlet-api.jar这个包,servlet要用到HttpServletRequest和HttpServletResponse等对象,这些对象都是要靠这个jar包使用的。如果安装了Tomcat,这个jar包一般在tomcat安装目录\lib 文件夹下面有,当你把web项目部署到tomcat,会自动加载这个jar包来识别Serlvet一些对象。

       这里我们在自己的电脑上找到安装的Tomcat文件夹lib目录下的servlet-api.jar,并复制粘贴在java项目中的lib目录下:

2.4 重构项目

       在最上方栏目中点击 文件 -> 项目结构(Project Structure)

       更改模块(Modules)内容如下:   

      最后点击确定。

2.5 创建并编写一个Servlet程序 

       我们在创建的Servlet_test项目 -> src文件夹 -> main文件夹 -> java目录下,新建一个Servlet项目,并命名为FirstServlet:

下面, 编写一个Servlet程序:

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(name = "FirstServlet", value = "/FirstServlet")
public class FirstServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.setContentType("text/html");

        PrintWriter out=response.getWriter();
        out.print("<html>");
        out.print("<body style=\"background-color:gray\">");
        out.print("<h2 style=\"background-color:red\">background color</h2>");
        out.print("<p style=\"background-color:yellow\">Hello World!</p>");
        out.print("</body>");
        out.print("</html>");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

再在WEB-INF下的web.xml文件中添加映射:

       在Sevlet程序中我们定义了一个FirstServlet类,那么在<servlet-class>中,我们的类名要和其保持一致。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <!-- 第一个Servlet程序 -->
    <servlet>
        <servlet-name>helloworldservlet</servlet-name>
        <servlet-class>FirstServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>helloworldservlet</servlet-name>
        <url-pattern>/fs</url-pattern>
    </servlet-mapping>

</web-app>

 2.6 配置Tomcat服务器

点击工件后,如下图,添加了一个对应的工件,部署完成,点击确定。

【注意,这里下方的“应用程序上下文”就是后续网页访问路径:http://localhost:8080/Servlet_test_war_exploded,也可以更改为别的名字】

服务器部分可以根据自己的需要进行修改,这里URL就是运行程序后的网页地址。【有错误,稍后说明】

 视频教程推荐尚硅谷:115.尚硅谷_Tomcat-IDEA整合Tomcat服务器_哔哩哔哩_bilibili

2.7 运行程序

        最后我们来运行一下这个Servlet程序,运行结束,自动跳转出一个网页,但显示的却是如下界面:

      显然,这是有误的,我们的Servlet程序中应该会输出一个Hello World!,并有简单的css页面美化的设计,出现上述原因,我们可以回到2.6节最后一张图那个Tomcat服务器配置,根据我们的web.xml配置文件,在URL地址后添加 /fs (这个fs名字可以是任意的),指定访问的绝对地址。

    【url-pattern这个配置项,通过URL访问到我们的servlet里,servlet会对http请求和相应进行处理】

       至此,我们的第一个Servlet程序就完成了!

第二种创建方法

再补充一个更为简单的方法:

新建项目,选择Java Enterprise(Java EE),模块选择Web应用程序,并添加Tomcat服务器,相关选项如下: 

点击下一步,相关规范下自动勾选上了Servlet,然后点击创建

 创建成功:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

两种方法用IDEA创建一个Servlet程序 新手教程详解 的相关文章

随机推荐

  • requests库在爬虫中最常用方法简析

    requests 前言一 安装二 使用方法1 引入库2 发起请求3 获取数据4 其他 三 简单示例总结 前言 requests是基于urlib3的用于发起http请求的python第三方库 xff0c 使用方便 xff0c 响应快速 一 安
  • 爬取英语六级高频词

    文章目录 任务一 指定url二 发起请求并获取响应数据三 对响应数据进行数据解析四 持久化存储总结 任务 将网站中所有英语六级高频词以及翻译获取 xff0c 然后进行存储 一 指定url 网站中单词被分开存放在1 7页中 第1页的url x
  • 基于tkinter的第一个GUI小项目:背英语六级单词软件

    文章目录 任务1 引入库2 读入数据3 打开窗口4 初始化5 放置标签和按钮6 按钮事件7 演示 任务 基于爬取到的英语六级高频词 xff0c 利用python中的tkinter做出一个能起到考察词汇掌握情况作用的GUI 1 引入库 spa
  • Linux 6.1/6.2发布新补丁:缓解AMD处理器fTPM间歇性卡顿问题

    导读早些时候 xff0c AMD承认 xff0c 在Linux系统中开启AMD锐龙处理器的fTPM xff0c 将可能导致系统出现间歇性的卡顿 死机等情况 据悉 xff0c 该Bug在Linux 6 1内核中表现得最为明显 xff0c 这是
  • RHCE. Stratis 管理分层存储

    通过Stratis xff0c 便捷的使用精简配置 xff08 thin provisioning xff09 xff0c 快照 xff08 snapshots xff09 和基于池 xff08 pool based xff09 的管理和监
  • Jmeter性能测试(5)--JDBC Request

    jmeter xff08 五 xff09 JDBC Request jmeter中取样器 xff08 Sampler xff09 是与服务器进行交互的单元 一个取样器通常进行三部分的工作 xff1a 向服务器发送请求 xff0c 记录服务器
  • jQuery获取或设置元素的属性值prop/attr

    获取元素的属性值 固有属性 39 div prop color 自定义属性 39 div attr index html代码 lt a href 61 34 www baidu com 34 title 61 34 百度 34 gt 百度
  • Aop小案例

    AOP小案例 AOP Aspect Oriented Programming 面向切面编程 00P Object Oriented Programming 面向对象编程 xff0c 用对象化的思想来完成程序 AOP是对0OP的一个补充 xf
  • 详细介绍在ubuntu20.04如何安装ROS系统,附常见错误的解决办法

    为保证在安装的过程中配置无误 xff0c 建议先打开软件与更新的界面 xff0c 检查框出的选项是否打上了 检查完成后 xff0c 就可以开始安装啦 xff01 1 添加ROS软件源 将以下两个命令任意选择一个复制到ubuntu的终端执行
  • ROS1学习笔记:创建工作环境与功能包(ubuntu20.04)

    参考B站古月居ROS入门21讲 xff1a 创建工作环境与功能包 基于VMware Ubuntu 20 04 Noetic版本的环境 文章目录 一 工作空间介绍二 创建工作空间2 1 创建工作空间2 2 编译空代码的工作空间2 3 设置和检
  • SQL注入

    常用函数 SQL注入步骤 联合查询注入 函数与报错注入 SQL盲注 宽字节注入 sqlmap工具 常用函数 常用系统函数 基础信息函数功能system user 系统用户名user 用户名current user 当前用户名session
  • 信息收集*

    域名信息收集 DNS记录查询 whois查询 备案信息查询 子域名信息收集 常用工具 查询网站 网络信息收集 c段查询 nmap扫描 获取真实IP 敏感信息收集 目录后台扫描 指纹信息识别 系统指纹识别 中间件指纹识别 Web程序指纹识别
  • 将kali linux 的语言切换为中文

    重置root密码 导入kali后 xff0c 一般没有root密码 xff0c 需要重置root密码的 使用sudo passwd root 命令重置密码 换源 因为默认源下载东西特别慢 xff0c 所以我们需要换源 输入vim etc a
  • curl命令

    在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具 xff0c 可以说是一款很强大的http命令行工具 它支持文件的上传和下载 xff0c 是综合传输工具 xff0c 但按传统 xff0c 习惯称url为下载工具 htt
  • Docker基本命令

    一 安装docker 1 docker运行时需要到管理员用户权限 现在我们是普通用户 xff0c 终端内输入命令 su root切换为root用户 使用apt get update 更新软件源中的所有软件列表 2 使用apt install
  • Nmap常用命令

    nmap hostname ip 或者多个 ip 或者子网 192 168 123 iL ip txt 扫描 ip txt 的所有 ip A 包含了 sV xff0c O xff0c 探测操作系统信息和路由跟踪 一般不用 xff0c 是激烈
  • Jmeter性能测试(6)--元件的作用域与执行顺序

    jmeter xff08 六 xff09 元件的作用域与执行顺序 jmeter是一个开源的性能测试工具 xff0c 它可以通过鼠标拖拽来随意改变元件之间的顺序以及元件的父子关系 xff0c 那么随着它们的顺序和所在的域不同 xff0c 它们
  • sql,逻辑漏洞,xss,反序列化思维导图

  • Arduino MAX30102脉搏心率传感器使用教程

    最近闲来无事 xff0c 得到了一块MAX30102 xff0c 手头刚好有多余的Arduino控制板 xff0c 就跑了个官方的案例 xff0c 发现测出来的脉搏和心率还是挺准的 xff0c 三星手机用过这个系列的芯片 xff0c 但是有
  • 两种方法用IDEA创建一个Servlet程序 新手教程详解

    1 Servlet 是什么 xff1f Java Servlet 是运行在 Web 服务器或应用服务器上的程序 xff0c 它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层 2