写在前面
跟着老师打代码 打servlet的简单测试 发生了极其极其极其愚蠢的问题。
特此记录
第一个错误
运行后提示报错 :java.lang.IllegalStateException: Error starting child
问题出现在哪里?
问题出现在web.xml文件配置servlet配置路径有问题!
错误示例
1 | <servlet-mapping> |
在url路径里要 加/ ! 加/ ! 加/!
正确实例
1 | <servlet-mapping> |
第二个错误
这个错误就更牛逼了,简直无敌。我大概琢磨了1个小时吧。还耽误了大佬的时间。
原样例是 提供登陆后的跳转,如果直接url路径登陆显示游客登陆,如果传入了username 则显示username登陆。
👇servlet代码
1 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { |
👇jsp代码
1 | <body> |
问题来了,无论我怎么登陆,或者不登陆直接url进入界面,网页坚决不出html页面,反而让我下载了一个文件,下载后显示出在jsp页面里写的html文件。
无数次检查路径和配置文件名 没有找到错误 就是跳转后不显示反而是下载。
那么问题出现在哪里???
问题出现在servlet代码里
response.setContentType(“test/html;charset=utf-8”);
单拿出这一句可能就比较明显了。
但是放在上面那一坨里,真的是死活看不到了
正确的样子应该是这个样子👇
response.setContentType(“text/html;charset=utf-8”);
。。。。。。无语ing。。。。。
还是手生的原因哇,这么简单又脑残的问题。 太愚蠢了
写在后面
zsz大佬和我商量以后每天互相提问面试题….其实我有点慌,因为我觉得他都会 (事实可能真的如此。。。)
但是有人愿意带着你一起走的感觉还是 可以的吧。。
然后偷偷立flag 要好好准备,也要好好地应对。