html+Servlet常见问题及解决思路

html+Servlet中的常见问题及解决思路

前言

html是静态资源,Servlet是java编写的服务器端程序(依赖于服务器),两者配合可以编写简单的Web程序(B/S结构)。
Web程序的访问依赖于路径,如果访问路径不正确,浏览器会报异常,这些异常信息包括HTTP状态码、异常详细等,下面罗列出了常见的异常及解决思路。

正文

一、先附上HTTP状态码描述
在这里插入图片描述
二、常见问题

  1. 404异常
    . 在这里插入图片描述
    分析: 出现404异常的原因有很多
    (1)首先如果web服务器(比如tomcat)没有部署正确,那么就会报404异常
    (2)如果web服务器部署正确,那么就是访问路径问题:
    静态资源的访问路径一般是 协议名称://ip地址:端口号(服务器端口号)/web项目名/静态资源
    比如:http://localhost:3311/myday09/demo01.html (3311是我的服务器端口号)
    Servlet的访问路径一般与静态资源一样(不过需要自己指定),Servlet指定访问路径有两种方式:一种是通过web项目中的web.xml文件配置,一种是通过注解的方式

    xml配置如下:

    <servlet>
            <servlet-name>/demo04</servlet-name>
            <servlet-class>cn.sx.requestdemo.Demo04</servlet-class>
            //注意: 上面的cn.sx.requestdemo.Demo04是servlet类的全类名(包名.类名)
        </servlet>
        <servlet-mapping>
            <servlet-name>/demo04</servlet-name>
            <url-pattern>/自定义访问路径</url-pattern>
            <!--上面设置了servlet类的全类名,这里只需设置一个url访问名称即可; 斜杠不要忘记-->
        </servlet-mapping>
    

    注解配置如下:
    @WebServlet(“/自定义访问名称”)
    注意:使用注解需要导包,而且自定义访问名称前的斜杠不要忘记!!!

  2. 500异常
    500异常一般是服务端出现了问题,Servlet程序中的代码出错,最常见的问题有 空指针异常、参数异常(如果使用mybatis操作数据库)、pom中servlet jar包作用域等等。碰到这种情况不要慌,仔细看浏览器异常报错信息,具体原因具体分析!
    如图:
    在这里插入图片描述
    提示了NullPointerException 空指针异常,异常信息里面还附带了程序出异常的的位置。

  3. 访问路径正常,也没报错,但静态资源访问不正常(浏览器空白)

    如图:在这里插入图片描述

    原因: 出现这种情况,主要是因为Servlet的访问路径使用了任意匹配模式,即单斜杠(/)

    在这里插入图片描述

    当Servlet的访问路径设置为 /, 这个 / 会覆盖tomcat中的DefaultServlet,而DefaultServlet是专门用来处理静态资源的。所以如果使用 /作为Servlet的访问路径,这个/就会覆盖DefaultServlet,这样静态资源就无法正常访问了,就会出现如上图所示的空白页面。

    附上tomcat服务器的安装目录中的web.xml文档中对DefaultServlet给出的解释:
    The default servlet for all web applications, that serves static resources.
    It processes all requests that are not mapped to otherservlets with servlet mappings (defined either here or in your ownweb.xml file).
    翻译:
    所有web应用程序的默认servlet,用于服务静态资源。
    它使用servlet映射(在此处或您自己的web.xml文件中定义)处理所有未映射到其他servlet的请求。

  4. 找不到 localhost 的主页
    如图:
    在这里插入图片描述

    原因:出现这种情况,要么是服务器配置出错,要么是资源路径问题(路径不对经常报错)
    (1) 检查服务器配置
    (2) 检查路径(注意路径中的web项目名、请求访问资源名是否正确)

总结

面对浏览器报错,首先查看给出的状态码,根据状态码以及报错详细信息可以确定到底是哪里出了问题,这样慢慢排除便能解除问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值