热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于IDEA部署Tomcat服务器的步骤详解

这篇文章主要介绍了基于IDEA部署Tomcat服务器,并在上面创建第一个servlet程序,实现前后端交互,然后做一个简单的四则运算计算器,需要的朋友可以参考下

简介

​ 基于IDEA部署Tomcat服务器,并在上面创建第一个servlet程序,实现前后端交互。然后做一个简单的四则运算计算器。

​ 本程序基于2021年最新版IDEA,解决的与老版本配置不同问题

idea2021 最新 jihuo 教程(无线重制使用)

步骤一

安装Tomcat(前提已经安装好JDK)

​ 1、Tomcat是免费的服务器,直接在官网下载即可

​ 2、压缩包下载好后直接将其解压到指定路径下

​ 3、在安装路径下有一个bin文件夹,在里面找到startup.bat文件,双击运行,之后出现以下运行结果

在这里插入图片描述

4、在浏览器中输入网址http://localhost:8080,出现以下界面表示Tomcat服务器已经成功部署

在这里插入图片描述

步骤二 在idea上创建一个动态web项目

​在旧版本中,IDEA创建项目中直接有一个JAVA Enterprice,但是最新版中没有这个选项。

在这里插入图片描述

所以我们用以下方法解决:

1、先创建一个普通的Java工程

在这里插入图片描述

2、右键工程,选择 Add Framework Support…

在这里插入图片描述

3、在打开的窗口中勾选Web Application(4.0),然后点击OK,此时IDEA就会自动生成javaweb目录结构和所需的资源

在这里插入图片描述

(注:这是我已经写好并运行过一次之后的目录结构。第一次生成的目录结构只有.idea、src、web以及下面的iml文件)

到这里基于IDEA的javaweb项目就已成功创建

步骤三 将Tomcat服务器部署到javaweb项目中

1、首先我们在web/WEB_INF 目录下创建两个文件夹,并命名为classes和lib

​ classes用来存放编译后输出的class文件,lib用于存放第三方jar包

在这里插入图片描述

2、配置文件路径

File -> Project Structure,打开以下窗口。然后选择Modules-- Paths – 勾选“Use module compile out path” ,并将Outputpath 和Test output path 都设置为刚刚创建的classes文件夹
在这里插入图片描述

3、在当前窗口继续选择Dependencies – 将Module SDK选择为1.6,然后点击右边的 + 号 – 选择 “1 JARS or directories …”

在这里插入图片描述

4、在打开的窗口中把路径选择到刚刚创建的lib文件夹,然后点击OK

在这里插入图片描述

5、在出现的窗口中选择Jar Directory – OK

在这里插入图片描述

6、然后在最外层 Project Structure窗口选择Apply–OK

7、然后我们正式开始配置tomcat容器。首先打开菜单Run -> Edit Configurations…

在这里插入图片描述

8、点击+号,选择Tomcat Server” – “Local”

在这里插入图片描述

9、然后在Name处输入你想自定义的服务器名,点击 “Application Server” 后面的 “Configure…”,弹出Application Servers窗口,在Tomcat Home 后面的文本框选择本地安装tomcat的目录 – OK

在这里插入图片描述
在这里插入图片描述

10、在"Run/Debug Configurations"窗口中Name一栏输入服务器的名字,在“Server”面板中,勾选取消“After Launch”,设置“HTTP port”和“JMX port”(默认值8080即可),点击Apply -> OK

在这里插入图片描述

到这里tomcat就配置完毕了,左边列表中tomcat图标上显示的小红叉是未部署项目的提示,部署项目后小红叉就会消失

步骤四 Tomcat上的相关部署

1、创建好Tomcat后,就可以通过工具栏快速打开tomcat的配置页面

在这里插入图片描述

2、选择Deployment --点击右边的“ + ”号 – 选择 Artifact–然后选择web项目 – Application Context中根据需要任意填写(也可以不填) – Apply

在这里插入图片描述

3、在server面板中将On ‘update' action和On frame deactivation的值改为update classes and resources – Apply

​ 注:这两个选项需要tomcat成功配置了项目后才有

在这里插入图片描述

到此tomcat的配置也就完成了

步骤五 编写简单的四则运算计算器程序,实现前后端交互

1、编写index.jsp文件,写出前端页面(这里附上我的代码)

在这里插入图片描述

            

I can do a arithmetic.

2、编写后端java程序,实现后端的简单四则运算处理(附上代码)

在这里插入图片描述

package com.mycalc.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;/** * @author Milo * @creat 2021-04-09 8:27 * @function * @versions */@WebServlet("/login")public class Calc extends HttpServlet{    int firstNum;    char operation;    int secondNum;    String submit;    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        System.out.println("------已进入Get程序-------");        resp.setContentType("text/html;charset = utf-8");        req.setCharacterEncoding("utf-8");        this.firstNum = Integer.parseInt(req.getParameter("firstNum"));        this.operation = (req.getParameter("operation")).charAt(0);        this.secOndNum= Integer.parseInt(req.getParameter("secondNum"));        this.submit = req.getParameter("submit");        resp.getWriter().write("计算结果为:"+this.arithmetic());    }    protected int arithmetic(){        int opResult = 0;        if (this.operation == '+') {            opResult = this.firstNum + this.secondNum;            System.out.println(opResult);        }        else if(this.operation == '-'){            opResult = this.firstNum-this.secondNum;            System.out.println(opResult);        }        else if(this.operation == '*') {            opResult = this.firstNum*this.secondNum;            System.out.println(opResult);        }        else if(this.operation == '/'){            opResult = this.firstNum/this.secondNum;            System.out.println(opResult);        }        return opResult;    }

3、编写web.xml文件,把中间servlet的连接搭出来

在这里插入图片描述
在这里插入图片描述

步骤六 运行代码,查看结果

点击运行,然后再index.jsp页面选择浏览器打开页面

在这里插入图片描述

运行结果如下

在这里插入图片描述

测试

在第一个输入框中输入第一个运算数,第二个框中输入四则运算符(+、-、*、/),第三个框中输入第二个运算数,点击Go,返回运算结果

如:
在这里插入图片描述

在这里插入图片描述

程序成功!

到此这篇关于基于IDEA部署Tomcat服务器的步骤详解的文章就介绍到这了,更多相关idea部署Tomcat服务器内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 本文介绍了Java的集合及其实现类,包括数据结构、抽象类和具体实现类的关系,详细介绍了List接口及其实现类ArrayList的基本操作和特点。文章通过提供相关参考文档和链接,帮助读者更好地理解和使用Java的集合类。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
author-avatar
明天流浪远方
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有