用IDEA写的第一个JavaWeb项目(保姆级)

news2024/11/26 2:44:58

任何事情只有0次和无数次,项目新建了第一个就有第二个

从第一次的略显青涩到后面的轻车熟路,区别就是第一次


——Lungcen

        在IDEA中新建一个web项目,有好几种方法。本人用的方法是通过maven构建工具来构建java项目的框架。对于web服务器的选择,因为由于是用来学习用的,所以我使用的是Tomcat。使用的技术用到servlet,所以说会用到java语言,所以需要安装了Java需要的环境(JDK JRE …)

综上所述:本文所说的新建项目需要已经在电脑安装了maven和Tomcat和JDK

目录

通过maven创建javaweb框架

配置项目的服务器

按照规范配置web项目的包层级

编写第一个servlet


通过maven创建javaweb框架


打开IDEA,通过点击主界面的 File 然后选择 New 一个 Project


 选择之前配置好的maven工具,然后确定自己安装的JDK的版本,点击选择Create from archetype,然后找到需要构建的webapp(org.apache.maven.archetypes:maven-archetype-webapp)


点击Artifact coordinates打开收起的界面,然后按照自己的喜好写项目名字,至于Groupld要不要改看自己的喜好(第一段为域,第二段为公司名称)

(域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织,cn是在中国)(没有公司名称写自己喜欢的英语啥的,名字缩写啥的都可以的)


 新建框架的最后一步:选择自己安装的maven的位置,第二行通过点击重写的选择,来让默认的地址修改为你的maven文件下的confsetting.xml文件(配置文件)


配置项目的服务器


创建成功一个项目框架后点击右下角弹出的 import Changes,导入Dependencies

可能有些人的Lifecycle 和 Plugins 会爆红,可能是你的maven从网上导入包没有加载完,换一个良好的网络刷新继续下载


创建一个tomcat服务器,点击右上角的Add Configuration…,它会弹出界面,点击打开Templates的隐藏选项,找到Tomcat Server ,点击local,最后再点击Create Configuration


 在配置tomcat时,名字看自己的喜好来取,然后在VM options输入:-Dfile.encoding=utf-8。点击下面的Warning提示中的 Fix


 点击后会跳转到Deployment,点击右侧的 加号(有的是在上面),选择Artifact


跳转到这个界面,两个随便选哪个都是可以,然后建议把下面的Application context的名字改短一点,因为这是你的网站的路径,太长了难敲 ^_^


导入tomcat的jar包:通过File 点击Project Structure…


点击Modules,然后点击右边的 加号  选择第二个Library,然后会弹出一个选择界面,选择哪一个都是可以的


按照规范配置web项目的包层级


 选中main目录,右键后选择 New 一个 Directory 选择java,就会创建一个Java的包,然后再重复操作再创建一个resources的包


 然后创建java包的子层级(这个层级的包就需要和前面在  新建框架的最后一步  中的Groupld一样


 由于我在前面填的是com.zpark,所以我的包层级也是这样,然后再resources包下新建一个properties文件。如果没有Resource Bundle选择,选择第二个File( 名字 加上 后缀 )也是可以的


在开发的时候,推荐使用分层开发 (所以就有了 Dao层、Entity层、Service(Biz)层、Servlet层、Utils层),但是我们学习可以只要新建一个servelt就行了

 


编写第一个servlet


利用第三种方式来编写好第一个servlet代码,利用注解的方式进行配置路径,不清楚的可以大致看一下以下两个内容,然后点击右上角的启动符号,启动服务器

Java Web程序设计——Servlet的认识和创建http://t.csdn.cn/Gya1pJavaWeb中 servlet注解和生命周期http://t.csdn.cn/DPnIm


 启动服务器后,会弹到浏览器的界面,如果没有弹出,就自己打开浏览器输入 之前在配置tomcat服务器是的URL地址


上面那个是tomcat默认的index.jsp,我们需要在路径后面加入我们在servlet中配置的路径


任何事情只有0次和无数次,项目新建了第一个就有第二个

从第一次的略显青涩到后面的轻车熟路,区别就是第一次


——Lungcen

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/534249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

日志—加索引优化select

今天工作中遇到一个小问题,一个搜索接口,要加一个2个字段用于搜索 分析:这两个字段要在子表中去查询,查看原来mapper中的接口,已经连了N个子表,sql速度在10秒左右。 加上了新的子表,然后去试了…

悼念浩哥(左耳朵耗子),一个纯粹的技术人

上周末听闻浩哥的事了,期初还不信。在网上搜索消息,看来是真的。他才四十多岁,觉得非常可惜。很早就关注过浩哥,他是一位正直纯粹和爱分享的技术大牛。无论是技术分享还是人生感悟,或者是成长相关,都让我学…

展会直击 | 昂视精彩亮相CIBF2023深圳国际电池展

5月16日,CIBF2023深圳国际电池展在深圳国际会展中心(宝安新馆)正式开幕,昂视携2D视觉产品、3D视觉产品、锂电行业智能检测方案亮相9号馆T101-2展位,会场氛围火热,昂视展位人声鼎沸。 方案演示,助…

K8s进阶1——搭建K8s高可用集群

文章目录 一、资源清单二、系统初始化2.1 所有服务器配置2.2 master节点配置 三、nginxkeepalived3.1 主备机器上进行3.2 配置主节点3.3 配置备节点3.4 启动服务 四、部署etcd集群4.1 资源清单4.2 生成Etcd证书4.3 部署Etcd集群 五、安装Docker/kubeadm/kubelet5.1 安装docker5…

【数据库复习】第六章 关系数据理论 1

关系模式的设计 按照一定的原则从数量众多而又相互关联的数据中,构造出一组既能较好地反映现实世界,而又有良好的操作性能的关系模式 ●冗余度高 ●修改困难 ●插入问题 ●删除问题 ★产生问题的原因 属性间约束关系(即数据间的依赖关系…

【C++从0到王者】第五站:类和对象(中)const和取地址运算符重载

文章目录 一、const修饰this指针二、取地址运算符重载以及const取地址运算符重载 一、const修饰this指针 我们继续使用之前实现的日期类,当我们写出如下代码的时候,我们可以观察到编译器报错了 这其实因为权限的放大,如下图所示,…

ML之VAR:基于上海最高气温数据集利用时间序列模型之VAR向量自回归模型/多变量自回归模型实现回归预测案例

ML之VAR:基于上海最高气温数据集利用时间序列模型之VAR向量自回归模型/多变量自回归模型实现回归预测案例 目录 基于上海最高气温数据集利用时间序列模型之VAR向量自回归模型/多变量自回归模型实现回归预测案例 # 1、定义数据集 # 2、数据集预处理 # 2.1、缺失值…

【Spring全家桶系列】Spring中的事务管理(基于注解完成实现)

⭐️前面的话⭐️ 本文已经收录到《Spring框架全家桶系列》专栏,本文将介绍Spring中的事务管理,事务的概念与作用,以及Spring事务的属性和传播机制。 📒博客主页:未见花闻的博客主页 🎉欢迎关注&#x1f5…

怀念浩哥(左耳朵耗子),一个纯粹的技术人

上周末听闻浩哥的事了,期初还不信。在网上搜索消息,看来是真的。他才四十多岁,觉得非常可惜。很早就关注过浩哥,他是一位正直纯粹和爱分享的技术大牛。无论是技术分享还是人生感悟,或者是成长相关,都让我学…

Portainer: 带你领略强大且易用的容器管理平台

什么是Portainer? Portainer是一个强大的容器管理平台 Portainer是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。Portainer全球最受欢迎的容器管理平台,拥有超过100万用户和24,600颗GitHub星Portainer的定位及与周边生态的交互…

【Redis】聊一下持久化机制-AOF

前言 持久化其实在任何存储系统中,都是避不开的话题,比如数据库系统就有ACID进行数据、日志的持久化。将文件写入到内存、缓存、磁盘中。在比如消息队列Kafka也有消息的持久化机制,为防止数据的丢失也需要将数据持久化存储。目的其实就是为了…

javaweb系列- JavaScript事件

1.6 JavaScript事件 1.6.1 事件介绍 如下图所示的百度注册页面,当我们用户输入完内容,百度可以自动的提示我们用户名已经存在还是可以使用。那么百度是怎么知道我们用户名输入完了呢?这就需要用到JavaScript中的事件了。 什么是事件呢&…

【SpringBoot】整合第三方技术Junit. MybatisPlus druid

【SpringBoot】整合第三方技术 整合junit整合MyBatis整合Mybatis-plus使用阿里云创建工程 SpringBoot整合druid 整合junit 自己定义一个功能,测试功能接口 测试步骤注入你要测试的对象 提前声明为bean资源执行你要测试的方法 package com.ustc.sp7;import com.us…

MySQL—MVCC

文章目录 数据库并发的场景有三种MVCC概念读-写3个记录隐藏列字段undo log模拟MVCC Read ViewRC与RR的本质区别RCRR 数据库并发的场景有三种 读-读: 不存在任何问题,也不需要并发控制 读-写∶有线程安全问题,可能会造成事务隔离性问题,可能遇…

阿里云GPU服务器租用费用包年包月、一个小时和学生价格

阿里云GPU服务器租用价格表包括包年包月、一个小时收费以及学生GPU服务器租用费用,阿里云GPU计算卡包括NVIDIA V100计算卡、T4计算卡、A10计算卡和A100计算卡,GPU云服务器gn6i可享受3折,阿里云百科分享阿里云GPU服务器租用价格表、GPU一个小时…

chatgpt赋能Python-aidlearning安装python

安装Python的必要性和意义 Python是一种非常流行的编程语言,它的易学易用,高效实用,使得很多人选择使用Python进行编程。对于AI学习,Python更是至关重要,因为很多AI框架和算法都需要使用Python进行编写和实现。因此&a…

Java设计模式 14-访问者模式

访问者模式 这个模式用的很少,《设计模式》的作者评价为: 大多情况下,你不需要使用访问者模式,但是一旦需要使用它时,那就真的需要使用了 一、测评系统的需求 1)将观众分为男人和女人,对歌手进行测评&…

逻辑回归优化技巧总结(全)

本文从实际应用出发,以数据特征、优化算法、模型优化等方面,全面地归纳了逻辑回归(LR)优化技巧。 一、LR的特征生成 逻辑回归是简单的广义线性模型,模型的拟合能力很有限,无法学习到特征间交互的非线性信息…

详解c++---继承

目录标题 为什么会有继承继承的概念继承的定义基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承和友元继承与静态成员什么是菱形继承如何解决菱形继承解决的底层原理继承和组合 为什么会有继承 在平时的使用过程中通常会出现一部分数据会在很多其他地方被使用…

微信商城小程序怎么开通?

随着移动互联网的快速发展,微信商城小程序成为了越来越多企业开启电商新模式的首选之一。微信商城小程序不仅在运营方式上具有很大优势,还能够提供更加便利和舒适的购物体验。那么微信商城小程序怎么开通呢?下面,我们将简单介绍微…