这篇文章是由一个默认页面怎么配置引发的一系列问题。是时候补基础了,谢谢带我小哥哥给我指出的问题,还有小哥哥们的指导。哈哈哈哈,切入正题吧!
虽然已经自己动手写过很多个web项目了(参加比赛,写着玩的,毕业设计),可是项目的每个细节,项目的具体配置,真的理解了吗?是不是只是把一个项目的结构拷过来,然后修改呢?所以说,我真的了解java web项目的运行,了解它的运转吗?
前面已经提了一个问题,启动web项目时为什么需要容器,这也是由这个问题引发的。
所以就来了这么一个结论:当启动一个WEB项目时,容器包括(JBoss、Tomcat等)首先会读取项目web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常地被启动起来。
所以,正题也来了,那就是我们的web.xml配置文件。
a.web.xml文件里可以配置些什么?
还是看看别人的吧!总结的挺好的。
https://www.cnblogs.com/tiancai/p/9306147.html
b.web.xml文件里内容的加载顺序?
其实感觉知道加载顺序并没有什么实质作用。可以看日志,便于纠错,但是启动前就加载,也不存在纠错的价值啊,我们还是来看看别人的吧!
https://blog.csdn.net/u013984781/article/details/81282002
在这里我又有一个问题,监听器是用来做什么的?前面已经写了一篇过滤器,这个就放到下篇文章。
c.web.xml还能干什么呢?
现在的java web项目都流行使用框架,那么框架是在哪集成的呢?还是要靠web.xml文件。至于怎么集成,看框架。
当一个java web项目启动时,会自动加载web.xml。我们来看一个web.xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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_4_0.xsd"
version="4.0">
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>com.practice.myfilter.loginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/login.jsp</url-pattern>
</filter-mapping>
<!--全局参数,所有类可通过servletRequest.getServletContext().getInitParameter("name")访问-->
<context-param>
<param-name>name</param-name>
<param-value>周亚娟</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext*.xml,</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--servlet类里面控制页面跳转-->
<servlet>
<servlet-name>dengluServlet</servlet-name>
<servlet-class>com.practice.servlet.dengluServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dengluServlet</servlet-name>
<url-pattern>/denglu</url-pattern>
</servlet-mapping>
<!--控制默认jsp页面-->
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
到今天,我才好好的认识了一下web.xml,之前真的完全不了解过滤器啊,监听器啊,还有全局参数啥的啥的,顶多的,也就是知道一个servlet配置。
真的是,我大学都学了啥啊!慢慢来,慢慢来,好啦,就到这了,web.xml以后再补充。