博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
InteliJ Idea通过maven创建webapp
阅读量:7193 次
发布时间:2019-06-29

本文共 1580 字,大约阅读时间需要 5 分钟。

facet是IDE给工程添加的属性,在使用maven时一定不能使用facet

一、创建maven项目,选定webapp作为archtype,这样就会自动生成webapp目录

695653-20170817140430334-1699719399.png

如果没有给maven设置代理,就无法通过maven archtype直接创建webapp项目。

给maven设置代理的过程参考

创建之后,就会看到如下目录结构:

695653-20170817140914350-1349450205.png

看上去少一个src/main/java源文件目录,稍后会介绍如何添加。

二、添加javax依赖

javax.websocket是Java对websocket提供的接口

javax.servlet是Java对servlet提供的接口
这些都只是接口,需要tomcat或者jetty作为运行环境才能发挥作用。
需要在pom.xml中添加下列依赖,这样才能够正常定义servlet
需要注意的是,这两个依赖不一定跟tomcat有关,打包成的war可以在任意支持javax.servlet和javax.websocket的容器内运行。

javax.websocket
javax.websocket-api
1.1
provided
javax.servlet
javax.servlet-api
3.1.0

有了依赖,就有了代码提示。

下面写一个servlet。

三、编写servlet

点击菜单File/Project Structure/Source

695653-20170817141719990-766673226.png

在src/main下创建java目录,并右键此目录,将其设置为sources类型的目录,这样就可以在这个目录下面创建Java文件了。

随便写一个Servlet

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;@WebServlet("/haha")public class Haha extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {    resp.getWriter().print("hello world");}}

四、设置运行环境

点击菜单run /run .../Edit Configuration编辑运行环境,点击右上角的加号,创建tomcat/local的运行环境,发现右下角有一个提示没有artifact,并且有一个Fix提示。

点击Fix提示,选中“myweb-exploded”,然后就可以运行了。
打开浏览器,访问localhost:8080/haha,应该就能访问成功了。

转载地址:http://ycqkm.baihongyu.com/

你可能感兴趣的文章
SDN/NFV:现状,挑战和未来
查看>>
能源互联网和电力大数据下的厮杀
查看>>
早晨起来看手指,透露了你的身体状态!
查看>>
雅虎再爆黑客事件,入侵账户无需密码
查看>>
佳兆业联手中兴通讯打造智慧城市
查看>>
Neural Machine Translation by Jointly Learning to Align and....
查看>>
苹果发布新版iOS修复“Error 53”变砖问题
查看>>
分布式云应用的导图生成方式比较
查看>>
【新智元人工智能创业家】陈天石:寒武纪,全球首款深度学习专用处理器
查看>>
信息革命2.0时代 数据将成媒体转型关键
查看>>
RHEL 8:摆脱“地狱式”的软件包指日可待
查看>>
钜士安防新三板挂牌上市2016年1-9月营收1512万元
查看>>
采用dlopen、dlsym、dlclose加载动态链接库【总结】
查看>>
Android特效专辑(五)——自定义圆形头像和仿MIUI卸载动画—粒子爆炸
查看>>
为什么要用GCD-Swift2.x
查看>>
Symfony学习--HttpKernel组件
查看>>
从如何判断浮点数是否等于0说起——浮点数的机器级表示
查看>>
Android 布局学习之——LinearLayout的layout_weight属性
查看>>
C# 调用存储过程
查看>>
用代码画流程图和时序图快餐教程(3) - PlantUML画时序图
查看>>