前文:JSP 简单入门与 IDEA 开发环境配置

参考链接:

  1. https://zhuanlan.zhihu.com/p/68133583
  2. https://www.cnblogs.com/javabg/p/7976977.html

一、Tomcat

  • 操作如下:File | Settings | Build, Execution, Deployment | Application Servers

  • 部署成功

二、Java Web项目

IntelliJ IDEA 2021.2 这个新版本,不管是在创建项目上,还是在进行一些选项的配置上,与之前的版本相比都有些许的不同。

1. 新建module

  • 注意:普通java项目,而不是Java Enterprise;

2. 添加框架支持

  • 创建完Java项目后,右击项目,选择Add Frameworks Support;

  • 选择 Java EE8

  • 选中Web Application,默认create web.xml

  • 目录结构变化,如下

三、配置

此时建议

  1. WEB-INF 下建 libclasses 文件夹,并在 Modules 的 Paths 把输出文件夹指向WEB-INF.classes

    即将后面编译的class文件默认生成到classes目录下

  2. 点击 Modules -> 选中项目 JavaWeb -> 切换到 Dependencies 选项卡 -> 点击右边的“+” -> 选择 “JARs or directories...”,选择创建的lib目录

    即将未来使用的第三方包引用在此目录

  3. 配置打包方式Artifacts点击 Artifacts选项卡,IDEA会为该项目自动创建一个名为“JavaWeb:war exploded”的打包方式,表示 打包成war包,并且是文件展开性的,输出路径为当前项目下的 out 文件夹,保持默认即可。另外勾选下“Build on make”,表示编译的时候就打包部署,勾选“Show content of elements”,表示显示详细的内容列表。

Ctrl+Shift+Alt+s,进入Project Structure

  • 设置sources目录,并勾选sources root

  • 打包jar包,首先cancel选定module

    博主这里借用一下其他教程的两张图

  • 改名再选定add to module或者project

四、Tomcat实例

  • 选择 Run -> Edit Configuration -> 左上角加号 -> Tomcat Server-> Local

  • 点击Application server右边的Configure,找到你放置的Tomcat的目录

  • 选择第二个选项卡Deployment-> + -> 选择Artifacts ,说明:此处的Application context是指定本工程的根目录,可以对项目的访问地址进行修改,如果只有一个/,则默认表示localhost:8080/,后面直接跟需要访问的页面即可,Apply;

    个人选择改为 /JavaWeb

  • 配置完成工具栏出现如下标志,但未启动

    此时可以修改内部的实时更新,Updata classes and resources

  • 点击右下角的services,启动绿色的三角按钮 Run,启动 Tomcat;

  • 可以看到 Tomcat bin 目录的 catalina Run,打开 index.jsp 运行;

  • Tomcat 已启动

  • 打开浏览器,输入:

    localhost:8080/JavaWeb or http://127.0.0.1:8080/JavaWeb/

至此,IDEA 创建并设置 JavaWeb 工程全部完成,下面是在其中编写并运行Servlet。


\[QAQ
\]

五、Servlet简单实现

1. 编写servlet源文件

src 目录下新建包 MyServlet,在包内新建 HelloServlet.java 并编写一下代码并进行编译:

因为 Servlet 类其实就是一个普通的 Java 类,IDEA 中可以直接右键→new→Create New Servlet。会自动帮你生成继承了 HttpServlet 类的模板,十分方便。类文件生成后,我们便可以写自己的 Servlet 服务啦,先写一个最简单的 Hello World 服务,即用户访问指定 URL 地址,便调用该 Servlet 在浏览器中输出 Hello World。在这里,我们使用注解的方式将 Servlet 服务映射到URL:/helloWorld 上。

package MyServlet;

import java.io.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*; @WebServlet(name = "HelloWorldServlet",urlPatterns = "/helloWorld")
public class HelloServlet extends HttpServlet {
private String message; public void init() {
message = "Hello World!";
} 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>");
} @Override
public void destroy() {
super.destroy();
}
}

编译后会发现在 classes 目录下生成了 HelloServlet.class 文件

2. 部署servlet

方法一:

WEB-INF目录下 web.xml 文件的 <web-app>标签中添加如下内容:

<!-- 有点问题,待补 -->

方法二:

使用注解的方式将 Servlet 服务映射到URL:/helloWorld 上。

在HelloWorld文件的类前面加上:

@WebServlet(name = "helloServlet", value = "/hello-servlet")
// or
@WebServlet(name = "HelloWorldServlet",urlPatterns = "/helloWorld")
// or
@WebServlet("/HelloWorld")

控制台出现successfully则tomcat服务启动成功!

打开浏览器输入:localhost:8080/JavaWeb/helloWorld 即可查看servlet运行状态了.

IDEA 2021.2 新建JavaWeb项目及Tomcat部署的更多相关文章

  1. [转]intellij 13新建javaweb项目并用tomcat 7启动

    来自:http://blog.csdn.net/little__zm/article/details/19570535 对intellij不熟,找了很多文章,只这篇最为顺利.其他都有各种各校的问题,先 ...

  2. myeclipse新建javaweb项目,并部署到tomcat

    myeclipse使用的版本: 新建web项目: File-->New-->Web Project,输入项目名称,选择J2EE规范. 完成后: JRE System Library是只要做 ...

  3. IDEA2017.3.3创建第一个javaweb项目及tomcat部署实战

    一.创建简单web项目 1. 选择jdk(这里有点小问题不是很理解,通过java -verbose查找出来的jdk路径在C盘,这里并不能识别,而我jdk安装的时候有自己的路径在D盘,导入后就是图中的j ...

  4. Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...

  5. IDEA新建javaWeb项目

    创建JavaWeb项目的步骤大致如下: 创建JavaWeb项目之前所需要的条件 - 安装jdk - 安装服务器(如:tomcat) - 安装idea 新建项目 New-->Project...

  6. 在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)

    之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...

  7. Mac下intellij IDEA新建javaweb项目

    intellij IDEA可以说是非常好用的工具,本人用来开发java.比eclipse等好用太多了.谁用谁知道,当然只是开发工具而已,用什么都无所谓.大牛们都用记事本编程呢. 本文帮助新手创建一个j ...

  8. 利用Jenkins实现JavaWeb项目的自动化部署

    修改代码,打包,上传,重启... 大把的时间花费在这些重复无味的工作上.笔者与当前主流的价值观保持一致:我们应该把时间花费在更有意义的事情上.我们可以尝试借助一些工具,让这些重复机械的工作交给计算机去 ...

  9. JavaWeb项目 IDEA+Tomcat+Nginx 部署流程

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11375100.html 一:IDEA Maven项目打包 1.修改打包方式 在maven项目的pom文件中, ...

  10. SSM整合,快速新建javaWeb项目

    整合前需要了解: spring和springmvc包扫描的注意事项 Spring applicationContext.xml (父容器),SpringMVC springmvc-servlet.xm ...

随机推荐

  1. 字节跳动今日头条-抖音小程序序html富文本显示解决办法

    我所知道的,目前很多微信小程序开发者大都使用了"wxParse"的一个小程序端富文本解析代码,但对于开发抖音.今日头条小程序的人来说,貌似官方或者第三方也没有出一个解决html富文 ...

  2. 解密Prompt系列20. LLM Agent之再谈RAG的召回多样性优化

    几个月前我们就聊过RAG的经典方案解密Prompt系列14. LLM Agent之搜索应用设计.前几天刚看完openAI在DevDay闭门会议上介绍的RAG相关的经验,有些新的感悟,借此机会再梳理下R ...

  3. 我用 AI 写的《JavaScript 工程师的 Python 指南》电子书发布啦!

    关于本书 你好,我是 luckrnx09,一名靠 React 恰饭的前端工程师,很高兴向你介绍我的第一本开源电子书<JavaScript 工程师的 Python 指南>. 本书的内容完全免 ...

  4. 分享一个 asp.net core 多文件分块同时上传的组件

    分享一个可多个文件同时上传.断点续传,并实时反馈上传进度的 Asp.Net core 组件. 服务器端 引用 nuget 包:JMS.FileUploader.AspNetCore 然后启用上传组件: ...

  5. Illegal overloaded getter method with ambiguous type for property......

    问题原因 建议 1.boolean类型的属性值不建议设置为is开头,否则会引起rpc框架的序列化异常. 2.如果强行将IDE自动生成的isSuccess()方法修改成getSuccess(),也能获取 ...

  6. 文心一言 VS 讯飞星火 VS chatgpt (162)-- 算法导论13.1 2题

    二.用go语言,对图13-1中的红黑树,画出对其调用TREE-INSERT 操作插人关键字 36 后的结果.如果插人的结点被标为红色,所得的树是否还是一棵红黑树?如果该结点被标为黑色呢? 文心一言,代 ...

  7. Feign源码解析:初始化过程(二)

    背景 上一篇介绍了Feign源码初始化的一部分,内容主要是,@EnableFeignClients.@FeignClient这些注解,都支持设置一些自定义的配置类: A custom @Configu ...

  8. 支付宝 v3 验签如何实现

    上次给大家介绍了 支付宝 v3 自签名如何实现,这次顺便再把验签也写一下. 为什么要验签 说起为什么要验签,如果要详细一点解释的话,可以写很多很多...... 我们就简单一点来解释:验签可以证明接收到 ...

  9. 【电影推荐系统】Spring Boot + Vue3 前后端分离项目

    目录 0 前言 1 项目前端介绍 1.1 项目启动和编译 1.1.1 项目启动 1.1.2 项目编译 1.2 前端技术栈 1.3 功能模块前端界面展示 1.3.1 基础功能模块 1.3.2 用户模块 ...

  10. 【OpenCV】在MacOS上源码编译OpenCV

    前言 在做视觉任务时,我们经常会用到开源视觉库OpenCV,OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,它具有C++,Python,Java和MATLA ...