码迷,mamicode.com
首页 > 其他好文 > 详细

IDEA手写原始servlet项目遇到的问题

时间:2020-06-02 00:02:02      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:javaweb   error   活性   组织   遇到   directory   容器   存在   url   

JavaWeb编程最初是从学习servlet开始的,在学了N多个框架之后,逐渐觉得框架带来的功能是理所当然的,不加思考就在上面码砖,这样码久了就有种“一切尽在掌控”的错觉。
然而,闲下来的时候回忆旧知识,想自己搭一个纯servlet的架子,瞬间懵逼。今天就记录下遇到的问题:
1.在IDEA中对构建得到的 Artifacts 组织其结构时,不符合 servlet 的约定,导致

  • 报 internal compiler error (编译器内部错误,因为设置output的路径不对,或者没有及时refresh maven 依赖,导致编译时没找到到ar包),
  • 启动成功了访问不到首页index.jsp(因为没有把它放置到正确的位置,它应该是与WEB-INF和META-INF在同一目录层级的),
  • 在能访问到index.jsp的情况下,访问不到匹配特定URL的servlet方法(原因是编译出来的class字节码文件根本就不在上面说的WEB-INF目录里面,这样tomcat拿着你传它的URL就找不到对应的处理者了)。

技术图片

截图中 output directory 最好指定一个明显有意义的路径(计算机里不应该存在没有语义(抽象)的东西),这里给定路径名称为 war-exploded 。它是 Artifacts 输出到
的路径的根路径,这个根路径可能有其它同级路径,存放IDEA自己构建出的产物。
而output layout则是 对class,jsp,xml等文件/文件夹的组织,IDEA给了你极大的灵活性能够自己组织编译产物的层级结构(什么文件输出到什么位置),
这样做之后,得到的产物就可以不做处理放到容器里面直接运行。

过程真的坎坷,也暴露出“基础不牢,理解不深刻”这个严重问题。加油啊,年轻人!

IDEA手写原始servlet项目遇到的问题

标签:javaweb   error   活性   组织   遇到   directory   容器   存在   url   

原文地址:https://www.cnblogs.com/zhangjianghao/p/13026471.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!