小言_互联网的博客

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

166人阅读  评论(0)

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

简介

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

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

步骤一

安装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文件,写出前端页面(这里附上我的代码)

<html>
  <head>
    <title>My First Page</title>
  </head>
  <body>
  <h3>I can do a arithmetic.</h3>
  <div class="_from">
      <form action="login" method="get">
          <input type="text" name="firstNum" class="firstNum" placeholder="The First Number">
          <input typr="text" name="operation" class="operation" placeholder="Arithmetic">
          <input type="text" name="secondNum" placeholder="The Second Number">
          <input type="submit" name="submit" value="Go">
      </form>
  </div>
  </body>
</html>

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的连接搭出来

<web-app 框架是已经有的,仿照上图将中间内容写好即可

步骤六

运行代码,查看结果

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

运行结果如下

测试

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

如:

程序成功!

转载:https://blog.csdn.net/Milo_Luom/article/details/115597609
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场