我是靠谱客的博主 含蓄秋天,最近开发中收集的这篇文章主要介绍使用IDEA开发Servlet程序步骤可能出现的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

JavaWeb系列教程,持续更新
JavaWeb—Servlet
模拟Servlet本质
使用IDEA开发Servlet程序
Servlet对象的生命周期
适配器(GenericServlet)改造Servlet
ServletConfig
Servlet–ServletContext
如果大家觉得有帮助的话,不妨动动小手,点赞收藏一波,也方便后面的复习哈
在这里插入图片描述
在这里插入图片描述

步骤

1.新建一个空工程,然后在空工程下新建Module【模块】
在这里插入图片描述
第二步:新建模块(File --> new --> Module…)

  • 这里新建的是一个普通的JavaSE模块(这里先不要新建Java Enterprise模块)

  • 这个Module起名:servlet01

第三步:

  • 让Module变成JavaEE的模块。(让Module变成webapp的模块。符合webapp规范。符合Servlet规范的Module)
  • 在Module上点击右键:Add Framework Support…(添加框架支持)
  • 在这里插入图片描述
  • 在弹出的窗口中,选择Web Application(选择的是webapp的支持)
  • 在这里插入图片描述
  • 选择了这个webapp的支持之后,IDEA会自动给你生成一个符合Servlet规范的webpp目录结构。
  • 重点,需要注意的:在IDEA工具中根据Web Application模板生成的目录中有一个web目录,这个目录就代表webapp的根,也就是对应一个web应用,相当于是Tomcat服务器中webapp目录下面的web应用

第四步:编写Servlet(ActorServlet)

  • class ActorServlet implements Servlet
  • 这个时候发现Servlet.class文件没有。怎么办?将CATALINA_HOME/lib/servlet-api.jar和jsp-api.jar添加到classpath当中(这里的classpath说的是IDEA的classpath)
    • File --> Project Structrue --> Modules --> + 加号 --> Add JARS…
    • 在这里插入图片描述
      在这里插入图片描述
  • 实现Servlet中的方法
  • 第五步:在Servlet当中的service方法中编写业务代码(我们这里连接数据库了。)
  • 第六步:在WEB-INF目录下新建了一个子目录:lib(这个目录名可不能随意,必须是全部小写的lib),并且将连接数据库的驱动jar包放到lib目录下。
  • 第七步:在web.xml文件中完成ActorServlet类的注册。(请求路径和Servlet之间对应起来)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>actorServlet</servlet-name>
        <servlet-class>com.bjpowernode.servlet.ActorServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>actorServlet </servlet-name>
        <url-pattern>/servlet/actor</url-pattern>
    </servlet-mapping>
    
    
</web-app>

第八步:给一个html页面,在HTML页面中编写一个超链接,用户点击这个超链接,发送请求,Tomcat执行后台的 ActorServlet。

  • actor.html

  • 这个文件不能放到WEB-INF目录里面,只能放到WEB-INF目录外面。

  • actor.html文件的内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>actor page</title>
</head>
<body>
<!--这里的项目名是/xmm,无法动态获取,先写死 -->
    <a href="/xmm/servlet/actor">actor list</a>

</body>
</html>
  • 第九步:让IDEA工具去关联Tomcat服务器。关联的过程当中将webapp部署到Tomcat服务器当中。

    • IDEA工具右上角,绿色小锤子右边有一个:Add Configuration

    • 左上角加号,点击Tomcat Server --> local

    • 在弹出的界面中设置服务器Server的参数(基本上不用动)

    • 在当前窗口中有一个Deployment(点击这个用来部署webapp),继续点击加号,部署即可。

    • 修改 Application context为:/xmm 应用的根

    • 第十步:启动Tomcat服务器

      • 在右上角有绿色的箭头,或者绿色的小虫子,点击这个绿色的小虫子,可以采用debug的模式启动Tomcat服务器。
      • 我们开发中建议适用debug模式启动Tomcat
    • 第十一步:打开浏览器,在浏览器地址栏上输入:http://localhost:8080/xmm/actor.html

在这里插入图片描述

可能出现的问题

这几个问题是我第一次在idea中写servlet程序,所遇到的问题
问题一:idea error jdk isnt specified for module
方法:

1.选择 File -> Project Structure -> Modules,然后选择 modules 对应的 dependencies,将 Modules SDK 换成 对应的jdk版本
在这里插入图片描述
2. File -> settings -> Java compile 换成对应 jdk 版本
在这里插入图片描述
注意:部署项目的时候,jre的版本是和上面的那些jdk版本相对应的
在这里插入图片描述
找不到或无法加载主类 查看jdk环境 和 idea环境 都是好的,实在不行重新导入项目

问题二:idea 报错Output directory is not specified错误module
报错原因是因为没有指定输出路径
把java文件放在module里运行,这样就会自动生成输出文件夹
在这里插入图片描述
更加具体的分析,大家可以看这篇文章
idea 报错Output directory is not specified错误
在这里插入图片描述

最后

以上就是含蓄秋天为你收集整理的使用IDEA开发Servlet程序步骤可能出现的问题的全部内容,希望文章能够帮你解决使用IDEA开发Servlet程序步骤可能出现的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部