前文: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. offline RL | BCQ:学习 offline dataset 的 π(a|s),直接使用 (s, π(s)) 作为 Q learning 训练数据

    题目: Off-Policy Deep Reinforcement Learning without Exploration,ICLR 2019 pdf 版本:https://arxiv.org/pd ...

  2. preparedStatement.setString()方法

    PreparedStatement作用:PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程. 1.预编译sql语句,效率高 2.安全,避免sql注入 3 ...

  3. JSR223取样器详解

    相比于BeanShell 取样器,JSR223取样器具有可大大提高性能的功能(编译)如果需要,一定要使用JSR223取样器编写脚本是更好的选择!!! 属性描述名称:显示的此取样器的描述性名称,可自定义 ...

  4. liunx系统登录有趣界面图案

    # vim /etc/motd .::::. .::::::::. ::::::::::: ..:::::::::::' '::::::::::::' .:::::::::: '::::::::::: ...

  5. SpringSecurity入门(SSM版)

    1. 简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Sp ...

  6. 微软真是活菩萨,面向初学者的机器学习、数据科学、AI、LLM课程统统免费

    微软真是活菩萨,面向初学者的机器学习.数据科学.AI.LLM课程统统免费 大家好,我是老章 推荐几个质量上乘且完全免费的微软开源课程 面向初学者的机器学习课程 地址:https://microsoft ...

  7. C语言之检验三边能否构成三角形

    要求: 编写程序检验由三边能否构成三角形,检验方法是任意两边和均要大于第三边. 输出格式:若结果可以构成,输出YES,否则输出ERROR DATA 其实很简单,运用与逻辑运算符&&判断 ...

  8. pacman下载时经常出现Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds

    问题 我在manjaro系统上使用pacman下载软件的时候,经常出现以下报错: 错误:无法从 mirrors.tuna.tsinghua.edu.cn : Operation too slow. L ...

  9. 中文语音识别转文字的王者,阿里达摩院FunAsr足可与Whisper相颉顽

    君不言语音识别技术则已,言则必称Whisper,没错,OpenAi开源的Whisper确实是世界主流语音识别技术的魁首,但在中文领域,有一个足以和Whisper相颉顽的项目,那就是阿里达摩院自研的Fu ...

  10. 数据湖探索DLI新功能:基于openLooKeng的交互式分析

    摘要:基于华为开源openLooKeng引擎的交互式分析功能,将重磅发布便于用户构建轻量级流.批.交互式全场景数据湖. 在这个"信息爆炸"的时代,大数据已经成为这个时代的关键词之一 ...