此文源自18计科班常皓林同学的分享,在实现基于jsp+servlet+DAO实现登录程序时遇到的问题集锦,这些是第一次写代码可能遇到的问题,大家可以参考。
目录
错误2:LoginServlet(特别注意 这个错误的原因是LoginServlet的前面没有”/”)
错误3:实例化Servlet类异常,服务器遇到一个意外情况,阻止他完成请求。
在解决web.xml文件配置的问题时还了解到web文件配置的其他问题。
实例操作:MVC设计模式应用遇到的问题和解决办法
首先就是按照课本的顺序建立数据表、VO类、数据库操作类、用来登录验证的DAO接口、DAO的实现类和代理类等,然后就是创建Servlet—LoginServlet.java、登录页面login.jsp.及web.xml文件配置。
问题1:
(1)下边是login.jsp的运行页面
(2)输入ID和密码,点击登陆之后
点击登录之后出现404错误,如下图:
404的解决办法有:
- /WEB-INF是访问受限制的,jsp与html文件不能放在这个文件夹下(我的错误不属于这个)
- 配置web.xml是出现问题时出现错误(我的问题属于第二种)
WEB-INF文件夹是安全级别更高的,如果访问这个文件夹里面的jsp文件,需要进行配置。大家首先检查自己的jsp文件 的文件路径。
问题2:
web.xml文件的配置
错误1:<url-pattern>/demoMVC/LoginServlet</url-pattern>
错误界面
错误2:<url-pattern>LoginServlet</url-pattern>(特别注意 这个错误的原因是LoginServlet的前面没有”/”)
Console报错:服务器端口被占用(信息: 正在摧毁协议处理器 http-nio-8080)。
<url-pattern>/LoginServlet</url-pattern>
错误3:实例化Servlet类异常,服务器遇到一个意外情况,阻止他完成请求。
解决办法:由于web.xml中的servlet-class写错,导致了无法实例化servlet。
在解决web.xml文件配置的问题时还了解到web文件配置的其他问题。
错误1:手动创建web.xml时,代码如下:
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>Servlet.LoginServlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/LoginServlet1</url-pattern>
</servlet-mapping>
出现如下错误:
解决办法:将上面代码加入到web.xml文件中问题就解决了
<web-app version=“2.5” xmlns=“http://java.sun.com/xml/ns/javaee”
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
</web-app>
在Servlet3.0之后,可以生成对应的web.xml文件,我之前是自己创建的web.xml文件时,虽然页面路径映射正确,但是仍然会出现错误,在课堂上看到可以生成web.xml文件时,我删除原来自己创建的web.xml文件,让编译器自己生成web.xml文件之后,在生成的web.xml文件中配置页面映射路径,然后问题就解决了。
关于java web的一系列更新
之后查阅资料的过程中发现一个博主的文章对理解servlet有很大理解,也是关于java web的一系列更新。
Java Web之Servlet入门:Java Web之Servlet入门_李子树_的博客-CSDN博客
Servlet虚拟路径映射详解:Servlet虚拟路径映射详解_李子树_的博客-CSDN博客