Mac安装IDEA并创建Javaweb项目


安装IDEA

  官网地址:https://www.jetbrains.com/idea/download/#section=mac,选择Ultimate版安装。(For web and enterprise development)

  下载后拉取安装并打开,按下图进行选择,continue。
在这里插入图片描述

  把jetbrains-20200606.zip拖拽到IDEA,报错如下。
在这里插入图片描述

  解压jetbrains-20200606.zip,把文件夹拖拽到IDEA,发现IDEA把文件夹当作项目文件打开了。

  查看到期时间,发现Help里面没有about等可以显示日期的选项。关闭IDEA,重新打开没有看到到期时间的提醒,先这样吧。


创建JavaWeb项目

  New Project -> Java Enterprise,项目模版选择Web application,

  如图的Language、Build system、Test framework、Project template可以学习了解一下。
在这里插入图片描述

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

  生成的项目如下所示。
在这里插入图片描述


配置Tomcat容器

安装Tomcat

  选择版本Tomcat 8.5.69,下载后双击解压,移动到/Library目录并重命名,启动Tomcat服务,打开conf目录下的server.xml,找到<Connector port=“8080” protocol="HTTP/1.1"行修改端口为8090,重启Tomcat,访问localhost:8090,效果如图所示。

  参考《tomcat地址_mac安装tomcat》,https://blog.csdn.net/weixin_39930748/article/details/111112738

移动目录并重命名
mv apache-tomcat-8.5.69 /Library/Tomcat8.5		

启动服务
/Library/Tomcat8.5/bin/startup.sh			

关闭服务再启动服务
/Library/Tomcat8.5/bin/showdown.sh

在这里插入图片描述

为JavaWeb项目配置容器

  参考《IDEA2020.2.3中创建JavaWeb工程》,https://blog.csdn.net/qq_43487456/article/details/110123493

  导入Tomcat文件夹:
在这里插入图片描述

  点击IDEA右上角的启动三角形,启动项目发生报错:Address localhost:8090 is already in use。

  尝试把8090端口的进程杀掉,发现不行;尝试把端口修改到空闲的8091端口,还是不行。最终发现,是因为在命令行运行了Tomcat的start.sh,因此命令行关闭Tomcat,使用IDEA运行Tomcat即可,效果如下图所示:

在这里插入图片描述

简单修改demo页面

  查看HelloServlet.java文件,内容如下。把message的"Hello World!“修改成"Hello Java!”,修改的其实是/hello-servlet页面的内容。

  该文件引用 io库servlet库 ,定义一个路径,定义一个demo类,编写了init()、doGet()、destroy()方法。

package com.example.javawebdemo;

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

@WebServlet(name = "helloServlet", value = "/hello-servlet")
public class HelloServlet extends HttpServlet {
    private String message;

    public void init() {
        message = "Hello Java!";
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("text/html");

        // Hello
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<h1>" + message + "</h1>");
        out.println("</body></html>");
    }

    public void destroy() {
    }
}

在这里插入图片描述

  webapp/index.jsp文件内容如下,定义了一个超链接。点击超链接,就会访问WebServlet定义的文件,比较疑惑的是HelloServlet类并没有实例对象,但完成了初始化、方法调用甚至销毁回收等操作。

  值得注意的是,引用的javax.servlet库,学习和编写JavaWeb需要掌握该库里的Class类及相关的调用方法。

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<h1><%= "Hello World!" %>
</h1>
<br/>
<a href="hello-servlet">Hello Servlet</a>
</body>
</html>
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值