配置welcome-file
welcome-file 通常叫默认的界面。当我们请求一个地址(文件夹请求的方式)的时候,在我们的web.xml中文件夹匹配方式的url-pattern 都没有匹配成功那么他就会去寻找我们的web.xml是否有配置的默认界面
比如:localhost:8080/servlet/user/ 和 localhost:8080/servlet/user 注意这种不是请求的具体的资源,而是文件夹匹配方式
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
welcome-file 前面没有"/"请注意他是在当前的请求的路径下。通过下面的图说明
当我们访问(前体是没有对应的url-pattern)
localhost:8080/servlet/session 那么他会返回sesion目录下面的 index.jsp
localhost:8080/servlet/session/inner/ 那么他会返回index.jsp
因为我们配置的welcome-file 是有多个的 但是web服务器会从上到下依次去查找对应的文件,有就返回。如果都没有找到那么就会返回一个404.
配置 error-page
每一个webapp 一般都有很多的error-page .比如没有登录,请求的文件不存在,比如500 错误等等 这些都可以通过配置erro-page的方式
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error/error.jsp</location>
</error-page>
<error-page>
<exception-type>com.exception.NotLoginException</exception-type>
<location>/error/Login.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error/404.jsp</location>
</error-page>
比如上面配置了
1.错误的时候放回到error.jsp
2.没有登录的时候返回到(会覆盖原来上面的Throwable)Login.jsp
3.访问的页面不存在404
error-type 和 error-code 不可能同时出现
我们还可以设置error.jsp 设置它就是一个error = true ,那么在这个节目还可以获取异常的一些信息 。
在response对象,我们可以设置 返回的错误的类型,比如下面这两种方式这样也是可以的。
resp.sendError(404);
resp.sendError(HttpServletResponse.SC_NOT_FOUND);
resp.sendError(HttpServletResponse.SC_NOT_FOUND);