Javaweb Idea环境设置

1.新建项目和模块

image-20220320200732701

先讲一些基础的ideal基本知识。还记得我们要写java代码时,会新建一个Project。

然后之前不了解的是在projetct里面还有一个单位叫做模块,一个Project是由很多模块组成的。

那为什么平时我们感受不到建模块的过程呢?因为新建项目时会默认给我们创建一个和项目名同命的模块。(我们平时都是在这个同名的模块中写)

(为了防止混淆,这个同名module可以不用,把它当作文件夹,文件夹内装了很多其它module)

image-20220320201721775

比如下图demo01,demo02,demo03,webModule这些就都是这个项目的module。

image-20220320201755267

而我们点击file->project structure(关于我们这整个项目的参数设置时,就可以看到里面的module。

image-20220325195354489

这里,module这一栏就是关于项目里module的设置。

2.将模块设置为web模块

当我们创建项目时,(普通项目和web项目是不同的),有的版本可以直接在创建时项目时直接选择创建web项目,就默认给你创建web模块。但是IDEA 2020版 得先创建模块后再添加为web项目。那么如何将上一步新建后的模块变为web模块呢?

方法1.如下图所示,右击add Framework Support 添加模块的支持,然后选择web。

image-20220320202013692

image-20220320202156614

方法2:再看到下面的Facets,(就是方面)

点击facets,然后点+号,然后选择web。(可以理解为factes就是为模块添加其它不同的facets,web就是其中一个factes)

(比如你还可以添加Android的factes,就会多一个关于Android的包)

image-20220320203350725

直观感受就是你的model里面多了一个web文件夹。然后它就会问你这个web要加到哪个模块,然后就选择你要的那个模块,如下图。

image-20220320203440945

web模块,直观上就是多了一个web文件夹。

综上所述,其实上面的步骤,就是让你的模块成为web模块,让模块内有了web文件夹,了解Tomcat的话就知道Tomcat里面有个文件夹让我们放文件,我们可以将客户端能访问到的文件放到该文件夹,客户端就可以浏览我们文件夹里的文件。所以在ideal里面,这个web文件夹就是我们放想让文件的地方(能让客户端浏览到的文件)

3.添加部署到Tomcat(服务器软件)的包

当我们把web文件夹添加了之后,也就说明了我们这个模块是个web模块。然后我们需要将我们的模块部署到Tomcat上面。(需要通过导入一个部署的包),部署的包是什么呢?就是artifact。

可以这么理解,我们写好的代码要拿到tomcat上面去执行,所以我们需要给我们的代码(模块)添加一个部署包,让它可以在tomcat上解析运行。

所以看下面的警告,就会警告我们说,需要为web项目添加一个部署的包,然后我们就点击fix就好了。

image-20220320202600861或者

或者的话直接点击Artifacts,然后点击Web Application Exploded,然后再选择添加到相应的模块就好了!

image-20220320202732047

4.添加web和mysql的jar包

前置知识讲解
关于lib jar包的问题

这个问题折腾了很久,最后终于搞定了。

那天找了很久资料,才终于明白了lib是什么,jar包是什么?

这么说吧,比如说我们用ideal时会用到一些Linklist,ArrayList这些类。

而这些类都不需要我们写,别人已经帮我们写好,我们直接用就行了。这些就是别人给我们写好的类。

像一些很基础的,平时经常会用到的类,就会写在jdk包中。不同的jdk版本的里面写的各种类也不同。

这里可以扩展讲一下,JVM,JRE和JDK。

JVM

image-20220320205856459

image-20220320205914222

JDK和JRE

image-20220320211110079

其实很好理解,先讲讲JRE吧,JRE就是java运行环境。如果我们不写程序,而只是运行程序的话,只需要JRE就好。JRE里面包括了JVM和其它各种环境。而如果我们要写程序也要运行程序的话,那么JDK就好。因为JDK里面包含了JRE。而且jdk也有我们写代码所需要的包。

所以其实要写java的话很简单,只需要安装jdk就可以了。就可以直接在记事本上编写代码然后运行了。

什么Eclipse,Interllij的只是为了加快开发效率的Idea而已。

所以JDK里是啥,就是java的运行环境jre和应用程序开发包,简单点来讲就是别人帮我们写好的类,我们可以直接用这些类来实现我们的功能(比如ArrayList呀,LinkedList呀这些)

而lib包是什么呢?lib包就是我们这个项目所需要的类包的集合,比如说jdk呀以及其它的类包。jdk就是最基本的开发包,而其它更高级的类包就在其它的jar包中。

jar

好了,然后再讲讲jar是什么?先看一下官方的解释吧:(算了,我发现我看了也看不太懂……)

jar包其实就是一种压缩包,比如我们待会要会讲到,Servlet中需要用到很多的一些类,比如说HttpServlet类,或者什么GenericServlet,Serializable这些类,而这些类我们的jdk里面都是没有的(jdk只有一些基本的类),我们用到扩展功能的类再另外引入相应的jar包就行了。

比如我们的Servlet编程,就需要引入serveltapi的jar包。

那么要如何引入呢?

引入jar包

+Project Settings ->Libraries -> +java 然后选择导入的路径

image-20220320214834484

然后导入之后就能在External Libraries中看到了

image-20220320215129211

但是并不是导入之后就完成了,因为这只是加入到项目中,还需要添加到模块中。

image-20220320215954682

然后在module中找到相应的module,然后看到module那里有个Dependencies,然后添加进去。

或者更快的直接在module的dependencies右上角的箭头那里添加的时候选择jar的原始路径就好啦!

这就是了,如果一个模块model要添加jar包,就需要两个步骤:

1.在Project Settings的Libraries中添加jar包。

2.在Models的Dependencies中添加添加入lib的jar包。

手动建lib

当然,还有其它方式将jar包导入到项目中。比如说在项目中新建一个lib,然后在lib文件夹中导入jar包,然后再右键Add as library。(要先导入jar包之后才能add as library)

image-20220320222254912

image-20220320222415116

同样在Module的项目中,Dependencies中就可以找到。

同样有两种方式,一是在Project的文件夹中添加一个lib,或者在project settting中的Library那里添加,添加后都在module的dependencies中添加到相应模块。

还有一个方法就是直接将mysql的lib添加到web-inf里面。

5.添加artifacts包后还添加jar包会出现的问题

然后添加完mysql的jar包后会出现一个问题,就是我们刚刚web不是有添加一个Artifacts依赖了吗?依旧是添加一个tomcat那么能够运行的包。

但是我们刚刚将mysql和servlet的jar包添加进我们module种,但刚刚的artifacts却没有添加我们的sql的jar包的,这会出现一个问题,什么问题呢,就是我们本地的java程序可以很好地与数据库连接。但是到了服务器上面,就不行了,就会报一直找不到mysql的类的错误,就是 java.lang.NullPointerException 的错误,也就是找不到类,找不到jdbc的类,为什么呢?我们明明把包导进去了,为什么服务器还是找不到包咧?那是因为我们刚刚不是有添加Artifacts依赖吗?那个依赖就是连接到服务器软件(Tomcat的),然后我们现在添加了sql的包,但是这个包并没用添加到依赖当中,所以就会出现服务器软件找不到的问题。所以两个解决方案,一是直接点击problem的fix按钮,二是将artifacts删掉,然后重新添加。

image-20220320223606945

6.添加configuration配置

刚刚添加的artifacts有什么用呢?其实真正的用处就要来configuration这里。

image-20220320233948882

image-20220320234524068

点击右上角的Add Configurations,然后找到Tomcat Server的Local

然后点击Edit New Configurations

image-20220320235935920

然后需要在Deployment这里添加刚刚模块添加的 服务器软件依赖。

然后将 Application context改了,以后访问就可以直接/ 加地址就行喽。如果改成 /pro 以后就得加个/pro然后再写。这些后面再讲。

image-20220321000030976

然后这边的URL就是点击运行之后浏览器会打开的网页。

那么nihao.html就是我们放在web文件夹里面的(就是服务器的文件夹)。

总结

1.新建项目,新建模块

2.在模块中添加web(将模块变为web模块)

3.添加artifact 部署包

4.需要的话添加mysql,servlet等各种包

5.添加其它jar包后,artifact要fix或重新导入。

6.添加configuration。

后记:

出现bug其实不用怕,因为找bug的过程其实是自己对知识更加深入了解的过程。
其次,也要养成出现debug的能力,最重要的时,每次解决完一个问题,都要及时地将问题进行记录
这就是最重要的了!!!

刚刚在把笔记从Typora转到csdn过程中,出现照片转不过来的问题,还折腾了很久终于解决了。查看详情步骤。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值