精华内容
下载资源
问答
  • web.xml作用

    2019-02-21 14:58:23
    每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。 web.xml文件是用来初始化配置信息:比如...

    每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗?

    一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。

    web.xml文件是用来初始化配置信息:比如Welcome页面、servlet、servlet-mapping、filter、listener、启动加载级别等。

    当你的web工程没用到这些时,你可以不用web.xml文件来配置你的Application。
    每个xml文件都有定义它书写规则的Schema文件,也就是说javaEE的定义web.xml所对应的xml Schema文件中定义了多少种标签元素,web.xml中就可以出现它所定义的标签元素,也就具备哪些特定的功能。web.xml的模式文件是由Sun 公司定义的,每个web.xml文件的根元素为中,必须标明这个web.xml使用的是哪个模式文件。如:

    <?xml version="1.0" encoding="UTF-8"?> 
    <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> 
    

    web.xml的模式文件中定义的标签并不是定死的,模式文件也是可以改变的,一般来说,随着web.mxl模式文件的版本升级,里面定义的功能会越来越复杂,标签元素的种类肯定也会越来越多,但有些不是很常用的,我们只需记住一些常用的并知道怎么配置就可以了。

    下面列出web.xml我们常用的一些标签元素及其功能:

    1、指定欢迎页面,例如:

    <welcome-file-list> 
      <welcome-file-list> 
        <welcome-file>index.jsp</welcome-file> 
        <welcome-file>index1.jsp</welcome-file> 
      </welcome-file-list> 
    

    PS:指定了2个欢迎页面,显示时按顺序从第一个找起,如果第一个存在,就显示第一个,后面的不起作用。如果第一个不存在,就找第二个,以此类推。

    关于欢迎页面:
    访问一个网站时,默认看到的第一个页面就叫欢迎页,一般情况下是由首页来充当欢迎页的。一般情况下,我们会在web.xml中指定欢迎页。但 web.xml并不是一个Web的必要文件,没有web.xml,网站仍然是可以正常工作的。只不过网站的功能复杂起来后,web.xml的确有非常大用处,所以,默认创建的动态web工程在WEB-INF文件夹下面都有一个web.xml文件。

    2、命名与定制URL。我们可以为Servlet和JSP文件命名并定制URL,其中定制URL是依赖命名的,命名必须在定制URL前。下面拿serlet来举例:
    (1)、为Servlet命名:

    <servlet> 
        <servlet-name>servlet1</servlet-name> 
        <servlet-class>org.whatisjava.TestServlet</servlet-class> 
    </servlet> 
    

    (2)、为Servlet定制URL、

    <servlet-mapping> 
        <servlet-name>servlet1</servlet-name> 
        <url-pattern>*.do</url-pattern> 
    </servlet-mapping>
    

    3、定制初始化参数:可以定制servlet、JSP、Context的初始化参数,然后可以再servlet、JSP、Context中获取这些参数值。

    下面用servlet来举例:

    <servlet> 
        <servlet-name>servlet1</servlet-name> 
        <servlet-class>org.whatisjava.TestServlet</servlet-class> 
        <init-param> 
              <param-name>userName</param-name> 
              <param-value>Daniel</param-value> 
        </init-param> 
        <init-param> 
              <param-name>E-mail</param-name> 
              <param-value>125485762@qq.com</param-value> 
        </init-param> 
    </servlet> 
    

    经过上面的配置,在servlet中能够调用getServletConfig().getInitParameter(“param1”)获得参数名对应的值。

    4、指定错误处理页面,可以通过“异常类型”或“错误码”来指定错误处理页面。

    <error-page> 
        <error-code>404</error-code> 
        <location>/error404.jsp</location> 
    </error-page> 
    ----------------------------- 
    <error-page> 
        <exception-type>java.lang.Exception<exception-type> 
        <location>/exception.jsp<location> 
    </error-page> 
    

    5、设置过滤器:比如设置一个编码过滤器,过滤所有资源

    <filter> 
        <filter-name>XXXCharaSetFilter</filter-name> 
        <filter-class>net.test.CharSetFilter</filter-class> 
    </filter> 
    <filter-mapping> 
        <filter-name>XXXCharaSetFilter</filter-name> 
        <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    

    6、设置监听器:

    <listener> 
    <listener-class>net.test.XXXLisenet</listener-class> 
    </listener> 
    

    7、设置会话(Session)过期时间,其中时间以分钟为单位,假如设置60分钟超时:

    <session-config> 
    <session-timeout>60</session-timeout> 
    </session-config>
    
    展开全文
  • web.xml 作用

    2013-03-25 20:01:44
    每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。 web.xml文件是用来初始化配置...

    每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗?

    一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。


    web.xml文件是用来初始化配置信息:比如Welcome页面、servlet、servlet-mapping、filter、listener、启动加载级别等。

    当你的web工程没用到这些时,你可以不用web.xml文件来配置你的Application。


    每个xml文件都有定义它书写规则的Schema文件,也就是说javaEE的定义web.xml所对应的xml Schema文件中定义了多少种标签元素,web.xml中就可以出现它所定义的标签元素,也就具备哪些特定的功能。web.xml的模式文件是由Sun 公司定义的,每个web.xml文件的根元素为<web-app>中,必须标明这个web.xml使用的是哪个模式文件。如:
    <?xml version="1.0" encoding="UTF-8"?>
    <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>

        web.xml的模式文件中定义的标签并不是定死的,模式文件也是可以改变的,一般来说,随着web.mxl模式文件的版本升级,里面定义的功能会越来越复杂,标签元素的种类肯定也会越来越多,但有些不是很常用的,我们只需记住一些常用的并知道怎么配置就可以了。


    下面列出web.xml我们常用的一些标签元素及其功能:

    1、指定欢迎页面,例如:
    <welcome-file-list>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index1.jsp</welcome-file>
      </welcome-file-list>
    PS:指定了2个欢迎页面,显示时按顺序从第一个找起,如果第一个存在,就显示第一个,后面的不起作用。如果第一个不存在,就找第二个,以此类推。

    关于欢迎页面:

        访问一个网站时,默认看到的第一个页面就叫欢迎页,一般情况下是由首页来充当欢迎页的。一般情况下,我们会在web.xml中指定欢迎页。但 web.xml并不是一个Web的必要文件,没有web.xml,网站仍然是可以正常工作的。只不过网站的功能复杂起来后,web.xml的确有非常大用处,所以,默认创建的动态web工程在WEB-INF文件夹下面都有一个web.xml文件。


    2、命名与定制URL。我们可以为Servlet和JSP文件命名并定制URL,其中定制URL是依赖命名的,命名必须在定制URL前。下面拿serlet来举例:
    (1)、为Servlet命名:
    <servlet>
        <servlet-name>servlet1</servlet-name>
        <servlet-class>org.whatisjava.TestServlet</servlet-class>
    </servlet>

    (2)、为Servlet定制URL、
    <servlet-mapping>
        <servlet-name>servlet1</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>



    3、定制初始化参数:可以定制servlet、JSP、Context的初始化参数,然后可以再servlet、JSP、Context中获取这些参数值。

    下面用servlet来举例:
    <servlet>
        <servlet-name>servlet1</servlet-name>
        <servlet-class>org.whatisjava.TestServlet</servlet-class>
        <init-param>
              <param-name>userName</param-name>
              <param-value>Daniel</param-value>
        </init-param>
        <init-param>
              <param-name>E-mail</param-name>
              <param-value>125485762@qq.com</param-value>
        </init-param>
    </servlet>
    经过上面的配置,在servlet中能够调用getServletConfig().getInitParameter("param1")获得参数名对应的值。



    4、指定错误处理页面,可以通过“异常类型”或“错误码”来指定错误处理页面。
    <error-page>
        <error-code>404</error-code>
        <location>/error404.jsp</location>
    </error-page>
    -----------------------------
    <error-page>
        <exception-type>java.lang.Exception<exception-type>
        <location>/exception.jsp<location>
    </error-page>



    5、设置过滤器:比如设置一个编码过滤器,过滤所有资源
    <filter>
        <filter-name>XXXCharaSetFilter</filter-name>
        <filter-class>net.test.CharSetFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>XXXCharaSetFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>



    6、设置监听器:
    <listener>
    <listener-class>net.test.XXXLisenet</listener-class>
    </listener>



    7、设置会话(Session)过期时间,其中时间以分钟为单位,假如设置60分钟超时:
    <session-config>
    <session-timeout>60</session-timeout>
    </session-config>

    展开全文
  • eclipse web.xml 作用

    2019-04-29 14:08:04
  • web.xml作用分析

    2019-12-31 18:48:05
    <?xml version="1.0" encoding="UTF-8"?...web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/...
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns="http://java.sun.com/xml/ns/javaee"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    	version="3.0">
            <!-- 用来标记该web应用的名称 -->
    	<display-name>contract</display-name>
    	<!-- Spring和mybatis的配置文件 --><!-- classpath:activemq.xml -->
    	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>classpath:applicationContext.xml
    								classpath:spring-security.xml							
    								</param-value>
    	</context-param>
    	<!-- 编码过滤器 -->
    	<filter>
    		<filter-name>encodingFilter</filter-name>
    		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    		<async-supported>true</async-supported>
    		<init-param>
    			<param-name>encoding</param-name>
    			<param-value>UTF-8</param-value>
    		</init-param>
    		<init-param>
    			<param-name>forceEncoding</param-name>
    			<param-value>true</param-value>
    		</init-param>
    	</filter>
    	<filter-mapping>
    		<filter-name>encodingFilter</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    
    	<!-- Spring Security -->
    	<filter>
    		<filter-name>springSecurityFilterChain</filter-name>
    		<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    	</filter>
    
    	<filter-mapping>
    		<filter-name>springSecurityFilterChain</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    
    	<!-- Spring监听器 -->
    	<listener>
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>
    	<listener>
    		<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
    	</listener>
    	<!-- 防止Spring内存溢出监听器 -->
    	<listener>
    		<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
    	</listener>
    	<listener>
    		<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    	</listener>
    	<!-- Spring MVC servlet -->
    	<servlet>
    		<servlet-name>contract</servlet-name>
    		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    		<init-param>
    			<param-name>contextConfigLocation</param-name>
    			<param-value>
    				classpath:spring-mvc.xml
    				classpath:spring-quartz.xml
    			</param-value>
    		</init-param>
    		<load-on-startup>1</load-on-startup>
    		<async-supported>true</async-supported>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>contract</servlet-name>
    		<!-- 此处可以可以配置成*.do,对应struts的后缀习惯 -->
    		<url-pattern>/</url-pattern>
    	</servlet-mapping>
    
    	<filter>
    		<filter-name>httpMethodFilter</filter-name>
    		<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    	</filter>
    
    	<filter-mapping>
    		<filter-name>httpMethodFilter</filter-name>
    		<servlet-name>contract</servlet-name>
    	</filter-mapping>
    
    	<!-- 用于过滤request中的parameter,转换xss和sql注入攻击的特殊字符, 但是不会过滤上传文件-->
    	<filter>
    		<filter-name>xssFilter</filter-name>
    		<filter-class>com.contract.base.mvc.filter.XssFilter</filter-class>
    	</filter>
    	<filter-mapping>
    		<filter-name>xssFilter</filter-name>
    		<url-pattern>/*</url-pattern>
    		<dispatcher>REQUEST</dispatcher>
    	</filter-mapping>
    
    	<!-- <welcome-file-list> <welcome-file>/index.html</welcome-file> </welcome-file-list> -->
    	<!-- 配置SESSION超时,单位是分钟 -->
    	<session-config>
            <session-timeout>540</session-timeout>
            <!-- 容器将使用华华cookie追踪回话ID -->
            <tracking-mode>COOKIE</tracking-mode>
            <cookie-config>
            	<!-- 把cookie-secure的值改为了true,true意味着"指示浏览器仅通过 HTTPS 连接传回 cookie。这可以确保 cookie ID 是安全的,且仅用于使用 HTTPS 的网站。如果启用此功能,则 HTTP 上的会话 Cookie 将不再起作用 -->
                <secure>false</secure>
                <!-- cookie设置了HttpOnly标志,可以在发生XSS时避免JavaScript读取cookie -->
                <http-only>true</http-only>
            </cookie-config>
    	</session-config>
    
    </web-app>

    启动一个web项目的额时候,容器(如:tomcat)回去读它的配置文件web.xml。读两个点:<listener></listener> 和<context-param></context-param>

    • 容器创建一个ServletContext(上下文),这个项目所有的部分都将共享这个上下文。
    • 容器将<context-param></context-param>转化为键值对,并交给ServletContext.
    • 容器创建<listener></listener>中的类实例,即创建监听。
    • 在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得
    ServletContext = ServletContextEvent.getServletContext(); 
    context-param的值 = ServletContext.getInitParameter("context-param的键");
    • 得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早. 换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的WEB项目完全启动之前被执行. 举例.你可能想在项目启动之前就打开数据库. 那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接. 这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.
    展开全文
  • 在之前的《使用jsp作为视图模板&常规部署》章节有过一个实践,需要启动类继承自SpringBootServletInitializer方可正常部署至常规tomcat下,其主要能够起到web.xml作用。下面通过源码简单解析为何其能够替代web.xml...
  • web.xml作用[转]

    2010-10-09 13:43:39
    web工程中的web.xml文件有什么作用呢?它是每个web.xml工程都必须的吗? 一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。 那什么时候需要,什么时候可以不需要呢? 要想回答上面...
  • web.xml配置文件对于项目而言十分重要,这里配置了一些项目的一些重要信息,例如:拦截器、监听器、servlet、session超时时间、访问各种错误显示页面等等 ...
  • 二、web.xml的主要作用 你在WEB服务器的应用目录下部署了你的web应用,等待服务器启动: 1、web服务器启动的时候会为其应用目录下的各个应用进行初始化,依据就是WEB-INF下的web.xml。 2、首先标识应用适用的...
  • 一:web应用组织结构 1:web应用组成结构 2:安装web组成机构手动创建一个web应用程序目录 ...c:在html、jsp、css、js目录中写对应的文件,在WEB-INF目录创建classes、lib以及web.xml文...
  • web.xml:是配置整个tomcat的jsp和servlet工作中的一些情况,比如我们配置list来不让我 们输入一个目录的时候显示出那个目录下的jsp文件,而是显示404错误们,还有一些安全方面也可以做配置。 tomcat-user.xml是...
  • 一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。  那什么时候需要,什么时候可以不需要呢?  要想回答上面的问题,得先了解web.xml文件使用来干什么的。web.xml文件是用来配置:...
  • web.xml : 是部署描述符文件 ,配置文件指定路径用的{欢迎页,servlet ,filter。。。} server.xml : 是提供端口号 , 部署项目的主要文件。 context.xml : 主要是配置公用的全局的属性,tomcat会定时查看...
  • web.xml文件的作用 原文:http://www.cnblogs.com/yqskj/articles/2233061.html (关于servlet配置的部分须知:servlet3.0 之后已经不需要再给servlet配置web.xml,只需在servlet工程中加@注解即可,相关内容去...
  • [b]1、web.xml作用[/b] web工程中的web.xml文件有什么作用呢?它是每个web.xml工程都必须的吗? 一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。 那什么时候需要,什么...
  • web.xml文件的作用

    千次阅读 2017-02-11 14:46:24
    web.xml文件的作用? 关键字: web.xml 作用 ps:每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程...
  • tomcat conf目录下web.xml,tomcat-users.xml,server.xml,context.xml四个文件的作用 web.xml web.xml是Tomcat的部署描述符文件,配置文件 指定路径用的 web.xml文件是用来配置:欢迎页、servlet、filter等...
  • 在eclipse中创建一个Web项目的时候,虽然有web.xml生成,但是再添加Servlet类文件的时候总是看不见web.xml的更新, 在创建Web项目的时候,“Dynamic web module version”这个选项选择3.0以上,我选择是4.0,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,819
精华内容 2,327
关键字:

web.xml作用