五、IDEA中创建Web项目

news2025/1/12 17:47:05

文章目录

    • 5.1 创建Web项目
      • 5.1.1 创建项目
      • 5.1.2 编写Servlet类
    • 5.2 手动部署项目
    • 5.3 自动部署项目
      • 5.3.1 IDEA集成Tomcat
      • 5.3.2 IDEA部署JavaWeb项目
    • 5.4 war包部署
      • 5.4.1 导出war包

在这里插入图片描述

5.1 创建Web项目

5.1.1 创建项目

1、打开IDEA,单击“New Project”或者通过File–>new–>Project,在弹出的对话框中输入项目名称,其它的默认选择,点击finish按钮
在这里插入图片描述
在这里插入图片描述
2、为项目添加Web框架支持,右键单击创建的项目,点击Add Framework Support,在弹出的对话框中勾选Web Application(4.0)及Create web.xml复选框,单击“OK”按钮,完成添加。
在这里插入图片描述
在这里插入图片描述
3、添加依赖包,右键单击WEB-INF文件夹,在弹出的对话框中选择New–>Directory命令,创建lib文件夹,将Tomcat安装目录下lib文件夹中的servlet-api.jar文件添加到lib文件夹中。
在这里插入图片描述
4、在servlet-api.jar文件上右击鼠标,选择Add As Library,将jar包添加到Library中
在这里插入图片描述

5.1.2 编写Servlet类

1、在src上右击鼠标–>new–>package–>输入com.cxyzxc.www.servlet01包名(包名你可以自己取)–>回车

2、在包上右击鼠标–>new–>Java Class–>输入ServletDemo02类名–>回车

3、编写ServletDemo02类,实现Servlet接口,重写接口中的5个方法,在service()方法中输出内容

package com.cxyzxc.www.servlet01;

import javax.servlet.*;
import java.io.IOException;

public class ServletDemo02 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("IDEA中的第一个Servlet案例");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

4、编译ServletDemo02.java文件,生成ServletDemo02.class文件。在软件上面点击Build–>Build Project,等待片刻,生成out文件夹,里面包含编译后的class文件
在这里插入图片描述
5、编写web.xml配置文件

<?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-name>MySecondServlet</servlet-name>
        <servlet-class>com.cxyzxc.www.servlet01.ServletDemo02</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MySecondServlet</servlet-name>
        <url-pattern>/secondServlet</url-pattern>
    </servlet-mapping>
</web-app>

5.2 手动部署项目

1)在Tomcat服务器的webapps文件中,创建一个项目文件夹,例如webProject03

2)将IDEA软件中WEB-INF文件夹整体复制到webProject03文件夹中

3)在WEB-INF文件夹中创建classes文件夹,将编译后生成的ServletDemo02.class文件所在的文件夹一起复制到classes文件夹中

4)启动Tomcat,打开浏览器,在浏览器地址栏输入http://localhost:8080/webProject03/secondServlet,可以在Tomcat窗口中看到输出“IDEA中的第一个Servlet案例,手动部署到Tomcat容器中”内容。

5.3 自动部署项目

上述操作中,虽然是在IDEA软件中完成了Servlet代码的编写以及编译,但是还需要手动将WEB-INF文件夹复制到Tomcat的项目文件夹中去,并需要手动在WEB-INF文件中创建classes文件夹,然后将IDEA中编译后的class文件复制到classes文件夹中,比较麻烦。另外,当你的Java文件改变后,你需要重新编译java文件生成class文件,然后再将class文件复制到classes文件夹中,再重新启动Tomcat服务器才能访问资源,非常的麻烦。所以,我们可以在IDEA中集成Tomact服务器,实现自动部署。

5.3.1 IDEA集成Tomcat

1、 点击File–>Settings…
在这里插入图片描述
2、选择双击Build,Execution,Deployment–>Application Servers,点击+号,选择Tomcat Server
在这里插入图片描述

3、选择Tomcat服务器的安装路径,点击ok,Tomcat服务器就集成到IDEA中了在这里插入图片描述
4、再次点击File–>Settings…–>Build,Execution,Deployment–>Application Servers,点击+号,选择Tomcat Server,可以看到Tomcat服务器在IDEA中

在这里插入图片描述

5.3.2 IDEA部署JavaWeb项目

1、点击Run或者软件右边绿色锤子旁边下拉框,选择Edit Configuration…
在这里插入图片描述
2、点击图示中任意一个选项,进入添加运行配置界面
在这里插入图片描述
3、配置Tomcat Server和运行项目的默认浏览器
在这里插入图片描述
4、添加项目到Tomcat中并设置访问名称
在这里插入图片描述
5、在IDEA中启动启动项目
在这里插入图片描述
6、浏览器中默认输出index.jsp中的内容
在这里插入图片描述

7、在浏览器地址栏中输入Servlet访问路径,Tomcat控制台中输出service()方法中的内容

在这里插入图片描述

5.4 war包部署

项目开发完成后,为了方便部署,我们需要将项目整体打包成war包去部署在Tomcat服务器中。war包可以直接放入Tomcat的webapps文件夹中,启动Tomcat后自动解压,即可在浏览器中输入URL进行访问。

5.4.1 导出war包

1、点击File->Project Structure菜单(或使用Shift+Ctrl+Alt+S快捷键),打开Project Structure窗口
在这里插入图片描述
2、在ProjectStructure中选择左侧的Artifacts页签
在这里插入图片描述
3、点击中间上面的“+”,选择WebApplication:Archive-> Empty
在这里插入图片描述
4、点击上图中的①处的“+”,选择Directory Content菜单
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Perl语言入门

一、简介 Perl语言是拉里.沃尔&#xff08;Larry Wall&#xff09;在1987年开发的一种编程语言&#xff0c;借鉴了C、sed、awk、shell脚本语言以及其他语言的特性&#xff0c;专门用于文本处理。 它可以在各种平台上运行&#xff0c;例如Windows&#xff0c;Mac OS和各种UNIX…

bean生命周期

1.Aware和InitializingBean接口 Aware 接口用于注入一些与容器相关信息&#xff0c;例如 BeanNameAware: 注入bean的名字BeanFactorAware&#xff1a; 注入beanFactor容器ApplicationContextAware&#xff1a; 注入applicationContext容器EmbeddedValueResolverAware: ${} 代码…

爬虫进阶一(基础一)

文章目录简介cookie爬取雪球热帖代理模拟登陆防盗链异步爬虫协程asyncioM3U8HLS爬取seleniumbilibili无头浏览器规避检测MySQLMongoDBRedis简介 这个系列分四部分 基础进阶Scrapy 框架逆向分析实战运用 先补充一些爬虫需要的基础知识和技能预热&#xff0c;爬取个简历模板网站…

浅谈Git

Git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本管理,也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 版本控制 什么是版本控制&#xff1f; 版本控制是一种在开发的过程中用于管理我们对文…

如何评价唐卫国公李靖的战功、军事才能、政治才能?

link 一鞭直渡清河洛Research and no development已关注470 人赞同了该回答个人以为&#xff0c;在军事上&#xff0c;李靖是当之无愧的唐朝第一名将&#xff0c;他用兵如神&#xff0c;精于谋略&#xff0c;无论是在实际的军事指挥上&#xff0c;还是军事理论上&#xff0c;他…

Vue3 中computed计算属性的使用

目录前言&#xff1a;什么是计算属性选项式中的计算属性组合式中的计算属性计算属性和方法的区别&#xff1a;计算属性/计算方法注意事项&#xff1a;总结前言&#xff1a; 目标&#xff1a;现在vue3的使用越来越普遍了&#xff0c;vue3这方面的学习我们要赶上&#xff0c;今天…

银行家算法 源码+实验报告(用了自取)

XIAN TECHNOLOGICAL UNIVERSITY 课程设计报告 实验课程名称 操作系统—银行家算法 专 业&#xff1a;计算机科学与技术 班 级&#xff1a; 姓 名&#xff1a; 学 号&#xff1a; 实验学时&#xff1a; …

小程序03/ uni-app自定义全局组件 、 uni-app项目引入 Uview-ui 框架教程方法 和 Uview框架介绍

一. uni-app自定义全局组件 1.创建组件 注意: 在components文件夹下创建组件 、文件夹名要与文件名保持一致 2.使用组件 注意: 在pages文件夹下任意vue文件、 template标签内使用该组件即可 二.uni-app项目引入Uview-ui框架教程方法 和 Uview框架介绍 (1) Uview介绍: Uvi…

【自学Java】Java运算符

Java运算符 Java运算符 Java 程序是由许多语句组成的&#xff0c;而语句的基本操作单位是表达式与运算符。运算符就是数学中的运算符号&#xff0c;如 、-、*、 / 等等。 Java 中提供了许多的运算符&#xff0c;这些运算除了可以处理一般的数学运算外&#xff0c;还可以处理…

Android---AndroidX

目录 Android 支持库 Android Support Library AndroidX 如何迁移老项目到 AndroidX? 支持库的作用 Android 支持库 Android 支持库是每个Android 应用程序中必不可少的一部分&#xff0c;你会发现它们无处不在。支持库为开发人员提供了将 Android 的最新和最强大功能添加…

《最重要的事,只有一件》笔记——目标不是做得更多,而是让自己需要的事情更少

目录 一、引言 二、书中摘要 1、只做一件事、一次只做一件事 2、专心于一件事不那么容易 3、我们不可能同时专注于两件事 4、平衡工作与生活是无稽之谈 5、怎么做 6、成功的习惯-围绕着你的终极目标 7、找到投入的意义 8、确定优先事务-这要看你目前和将来的打算 9、…

【自然语言处理】【ChatGPT系列】FLAN:微调语言模型是Zero-Shot学习器

FLAN: 微调语言模型是Zero-Shot学习器《Finetuned Language Models are Zero-shot Learners》论文地址&#xff1a;https://arxiv.org/abs/2109.01652 相关博客 【自然语言处理】【ChatGPT系列】FLAN&#xff1a;微调语言模型是Zero-Shot学习器 【自然语言处理】【ChatGPT系列】…

R语言geodetector包基于栅格图像实现地理探测器操作

本文介绍基于R语言中的geodetector包&#xff0c;依据多张栅格图像数据&#xff0c;实现地理探测器&#xff08;Geodetector&#xff09;操作的详细方法。 需要说明的是&#xff0c;在R语言中进行地理探测器操作&#xff0c;可以分别通过geodetector包、GD包等2个包实现。其中&…

react18+eslint+prettier 配置

新建项目 create-react-app.cmd react18 --template typescript配置别名 安装 craco npm install craco/craco -D新建 craco.config.js const path require("path"); const resolve (dir) > path.resolve(__dirname, dir); module.exports {// 配置别名web…

Kubernetes:Service

文章目录1、Service 定义1.1、无选择符的服务1.2、Endpoints2、服务发布类型2.1、ClusterIP2.2、NodePort2.3、ExternalName2.4、loadbalancer3、无头服务3.1、有选择符的服务3.2、无选择符的服务4、服务发现4.1、环境变量4.2、DNS5、Service TLSService&#xff1a;将运行在一…

力扣(LeetCode)1801. 积压订单中的订单总数(C++)

优先队列模拟 根据题目描述模拟。 如果该订单是一笔采购订单 buy &#xff0c;则可以查看积压订单中价格 最低 的销售订单 sell 。提示我们&#xff0c;建立小根堆&#xff0c;维护价格最低的销售订单sell 。 反之亦然&#xff0c;如果该订单是一笔销售订单 sell &#xff0c;…

【技术分享】戴尔工作站安装Win10+Ubuntu20.04双系统教程与避坑指南

文章目录引言1.安装前的几个注意事项&#xff08;避坑指南&#xff09;1.1.有多块硬盘&#xff0c;该如何分配给Win10和Ubuntu系统&#xff1f;1.2.Ubuntu分区应该怎么分&#xff1f;2.系统安装步骤2.1.下载系统镜像2.2.制作U盘启动盘2.3.进入Win10系统分配系统空间2.4.BIOS设置…

强力推荐:关于谷歌ChatGPT模型140个示例的展示与实现功能

目录 1、ChatGPT 介绍与使用简要介绍安装ChatGPT与使用想写出有效的问答吗?使用 ChatGPT 桌面应用程序使用 prompts.chat2、ChatGPT模型140个示例充当 Linux 终端充当英语翻译和改进者担任`position`面试官充当 JavaScript 控制台充当 Excel 工作表充当英语发音帮手充当旅游指…

【C++】bitset(位图)的模拟实现

目录 一、bitset接口介绍 二、bitset的实现 1. 构造函数 2. 设置位&#xff08;set&#xff09; 3. 清空位&#xff08;reset&#xff09; 4. 获取位的状态&#xff08;test&#xff09; 三、源代码 一、bitset接口介绍 #include <iostream> #include <vecto…

Fujian Medical insurance and pension for urban and rural residents

【城乡居民医保、养老】二维码缴纳步骤&#xff0c;本文仅仅辅助需要人士&#xff0c;可忽略 第一步&#xff0c;长按二维码 第二步&#xff0c;点击【识别图中二维码】 第三步&#xff1a;个人社&#xff08;医&#xff09;保办费页面&#xff0c;点击【个人社&#xff08;医&…