【转载】血和泪的经验: IDEA如何运行一个普通的web项目

【转载】血和泪的经验: IDEA如何运行一个普通的web项目

Gat1ta 207 2022-02-08

前言

在漏洞分析过程中,会需要搭建很多环境,有的时候从靶场中copy出来的环境无法直接使用,需要搭建一下环境,在网上找了好久,下面这篇算是个人感觉写的比较好的,转载保存一下,省的以后访问不了了。

原文链接

https://zhuanlan.zhihu.com/p/73383535

正文开始

首先注意, 我说的是普通项目, 不是eclipse项目也不是其他的什么, 就是只有代码的项目. 如下图, src下是java代码, web下为网页代码, 没有其他的多余文件
image.png

  • 第一步, 打开项目, 自己选择自己项目的路径就好了. 我们这里选的是 Open . 不是 Import Project , 如果是Maven或者eclipse项目才选这个image.png

  • 第二步. 打开项目之后就进入到IDEA了, 点击 Project Structure . 这个分为两块, 一个是 Project Setting , 这是当前项目的设置, 仅对当前项目生效. 还有一个是Platform Srtting , 这个对所有的项目都生效. 我们要修改的只有Project Setting.

  • 第三步, 设置 Project . Project name一般不需要改动, Project SDK 的设置也比较简单, Project language level 选择和SDK对应的就好了. 最后一个Project complier output , 可以选也可以不选, 这个是全局的输出路径, 后面会讲到为什么可以选也可以不选.
    image.png
    image.png

  • 第四步, 配置Modules. 初始界面如下图所示.
    image.png
    先点击中间那个面板的+, 选择添加一个web模块. 因为我的项目是基于jsp的, 所以只要添加一个web模块就好了, 这个模块的名字就叫web, 我使用了默认的名字. 如果你还用了其他框架的话, 就都加进来
    image.png
    加好模块之后, 如下图所示. 注意看中间面板蓝色光标所选中的位置!!! 选的是vl(项目名)而不是Web(模块名)!!!
    再看最右边的面板, 有Sources, Paths, Dependenies三个模块, 我们都要配置
    image.png

  • 第五步, 配置Sources. 首先看到Mark as右边的五个图标, 我们一般配置Sources图标就行了. 先点击Sources图标, 再点击你存放java代码的目录, 你的代码目录就会变成和Sources图标一样的颜色
    image.png

  • 第六步, 配置Paths. 如下图, 你可以选择继承Project complier output的路径(不记得这是什么的回到第三步看看), 也可以单独指定路径. 如果单独指定路径, 在第三步就不用指定Project complier output了
    image.png

  • 第七步, 配置Dependenies. 暂时不用管

  • 第八步, 配置Web(模块名). 点击中间面板的Web. 再选择右边面板下方的 Web Resource Directory, 修改为你的html代码的路径(由于我是ubuntu不好涂鸦, 所以放两张图. 大家仔细对比一下, 看了很多博客都没说要改这个)
    image.png
    image.png

  • 第九步, 配置Libraries. 点击中间面板的+, 选择java, 然后选择你libraries的路径, 一般都是位于web/WEB_INF/lib. 这一步就是把你的jar包路径告诉idea.
    image.png
    前面配置好了的话, 你会发现Facets下的Web Resource Directory已经自动生成好了, 不用我们修改
    image.png

  • 最后一步, 按照图片来, 不要选错
    image.png
    点击OK, 大功告成
    image.png
    当然最后还要加Tomcat服务器, 这个没有什么争议, 比较简单教程也一大堆, 这里就不讲了

结语

刚入门后台, 看了网上很多博客, 按照他们的做法打开项目, 没一个能成功运行的, 而且大多数博客都是Import projrct. 自己慢慢摸索才找出来了办法(也许是自己太菜). 如果你也和我一样是新手, 建议先用我的代码运行, 运行成功之后再试试自己的. 下面是代码链接
https://link.zhihu.com/?target=https%3A//github.com/yuanpeilin/vl