SSH框架中的配置文件值web.xml

Web.xml

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

xml文件里面的所有内容都符合xml语法规范

属性,其中xmlns表示命名空间,xmlns="http://maven.apache.org/POM/4.0.0" 这表示默认命名空间

xmlns其实是XML Namespace的缩写,可译为“XML命名空间”

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 这个命名空间里面的元素或者属性就必须要以xsi:这种方式来写,比如schemaLocation就是他的一个属性,所以写成xsi:schemaLocation而默认命名空间不带类似xsi这种

其实xml标签名称有个专业叫法叫做QName,而如果没有前面的xsi:这种一般叫做NCName。所以你看mvn里面的<dependency>这种就是默认命名空间下面的元素

最后那一行就表示把定义这个命名空间的schema文件给引用进来,好让eclipse这类型工具能够解析和验证你的xml文件是否符合语法规范。等同于<import namespace="xxx" schemaLocation="xxx.xsd"/>。

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <context-param>
<!--自定义文件名可以在web.xml里加入contextConfigLocation这个context参数-->
<param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param>
 

在启动Web容器时,自动装配spring applicationContext.xml的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。在ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成;

 

<!-- 配置druid的servlet -->
 	<servlet> 
		<servlet-name>DruidStatView</servlet-name> 
	    <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> 
  	</servlet> 
  	
  	<servlet-mapping> 
     	<servlet-name>DruidStatView</servlet-name>	<servlet> 
		<servlet-name>DruidStatView</servlet-name> 
	    <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> 
  	</servlet> 
  	
  	<servlet-mapping> 
     	<servlet-name>DruidStatView</servlet-name>
<!--url-pattern来访问内置监控页面,如果是上面的配置,内置监控页面的首页是/druid/index.html-->  
      <url-pattern>/druid/*</url-pattern>
  </servlet-mapping>  
 
  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>
  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>

<!-- 去除对druid的拦截 -->
<init-param>    
<param-name>excludedPages</param-name>    
<param-value>/druid*</param-value>    
</init-param>    
  </filter>
  
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
  </filter-mapping>
 

 

druid监控功能,https://github.com/alibaba/druid

struts2

基于MVC设计模式的Web应用框架,本质上相当于一个servlet,

在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。

Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开

<dispatcher></dispatcher>必须写在filter-mapping的最后,dispatcher的前提条件当然是要先满足url-pattern,然后dispatcher有四种可能的属性,REQUEST、FOWARD、INCLUDE、ERROR,意如其表,满足条件的会走这个过滤器,如上一次请求(request、forward)便会走指定的过滤器

项目中,JSP用到了:<%@ include file="../fontPage/menu.jsp"%>原来这个include指令,引申出include动作:<jsp:include page="menu.jsp" />,jsp指令是在menu.jsp被转换成Servlet前,将menu.jsp代码插入其中;jsp动作是在menu.jsp被请求时,将次级页面menu.jsp包含进来,对滴差别是调用时间不同 (两种include方式及filter中的dispatcher解析

jsp本质就是servlet

  <login-config>
    <auth-method>BASIC</auth-method>
  </login-config>

BASIC验证机制:指出采用basic验证方式,并指出了对于访问/member/*下的文件时,都需要获得 member角色的授权。 

此外:form表单验证   http://blog.csdn.net/lisheng19870305/article/details/40819481

参考:

http://blog.csdn.net/muzizhuben/article/details/9135275

http://www.cnblogs.com/ansen/articles/2017360.html

https://baike.baidu.com/item/Struts%202/2187934?fr=aladdin&fromid=10711345&fromtitle=Struts2

http://blog.csdn.net/jethai/article/details/52345135

http://www.cnblogs.com/xrq730/p/4929029.html

猜你喜欢

转载自blog.csdn.net/ma15732625261/article/details/77852201
今日推荐