【Servlet配置】如何在IDEA里创建配置一个Javaweb项目

关于servlet

1. servlet是什么?

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

————来自百度百科

2. 如何在IDEA中部署Servlet(最后有避坑指南)

1. 新建一个项目

新建项目的时候选择Java Enterprise这个(即红框框住的这个)

还要注意箭头标志的3个注意点

1处选择Web application

2处选择自己配置好的对应的Tomcat版本(此处也可以先不选,创建完在里面可以配置的,方法见博文最后部分)

3处看看是否选择了正确的JDK版本

勾选Servlet即可,点击Finish完成项目创建

2. 使用Maven导入jar包

创建好的目录界面是这样子的

打开pom.xml在里面添加依赖(记得要在project标签内添加否则会不行)

<dependencies>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.2</version>
    <scope>provided</scope>
</dependency>
</dependencies>

jar包可以进这个网站查找最新的版本

使用方法为搜索jar包名字,找到对应jar包然后点击需要的版本,会出现下图,直接复制在dependencies内粘贴就可以了

想要不同版本的只需要在version里修改即可(但前提是真的有这个版本存在)

依赖添加以后点击下图这个按钮刷新

成功了就可以在右侧看到了(失败的话可能是墙的问题,自行百度如何配置阿里云服务器来下载,此处不赘述)

3. 配置web.xml

链接servlet方法较多,此处只说明配置web.xml的方法

在web.xml里面输入以下代码

!注意:servlet-name是可以随便取的,只是一个名字,但下方都要统一

servlet-class是需要输入对应java类的类名,前面如果有文件夹的话也需要用.来输入

而url-pattern是映射地址**(别忘了加上/)**,如在浏览器里输入http://localhost:8080/demo_war_exploded/hello时会开始匹配对应的HelloServlet

<servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>com.example.demo.HelloServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
</servlet-mapping>

servlet和servlet-mapping是互相对应的,不可缺少一个

4. 重写HelloServlet中doPost和doGet方法

右键选择Generate

选择第三个

选中doGet和doPost方法

到此为止,一个简单的servlet项目就创建成功了!

3. 项目中tomcat的部署问题

1. 点击右上角的Add configuration

2. 先点左上角的加号,再选择tomcat server下的local

3. 配置tomcat

把红框的东西配好即可

4. 添加Artifacts

右键下方的tomcat选择Artifacts

选择war exploded这个再点Add(其实两个都可以)

5. OK完成,我们来试试

那我们在index.jsp的body里写一句

Hello world

再点运行看看

Nice!tomcat部署成功

关于避坑指南(血与泪的教训)

  1. 我原先下载的tomcat版本是10的,然后没想到我导入的这两个jar包依赖是和tomcat10有冲突的,这也就会导致在配置成功后打开HelloServlet界面会出现500的错误(最后含泪退回tomcat9版本)

    解决方案:如果是tomcat10,就不要导入上文的依赖,可以自己在tomcat文件夹内的lib里找到servlet-api.jar这个jar包手动导入即可

  2. servlet和servlet-mapping标签要加在web.xml里的web-app标签里(之前儍儍的放在外面,怎么也不行。。)

  3. 配置tomcat的时候不要选错了!!!,有一个也是长着个猫头的tomEE server不是我们要选的,别选它!(图标一样,容易眼瞎选错了)

最后欢迎评论区讨论指正,鞠躬~

let和servlet-mapping标签要加在web.xml里的web-app标签里(之前儍儍的放在外面,怎么也不行。。)
3. 配置tomcat的时候不要选错了!!!,有一个也是长着个猫头的tomEE server不是我们要选的,别选它!(图标一样,容易眼瞎选错了)

最后欢迎评论区讨论指正,鞠躬~

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Khalil三省

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值