栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Struts2入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Struts2入门

1首先创建一个Maven项目 找到里面的pom.xml


  4.0.0
  com.zking
  struts2
  war
  0.0.1-SNAPSHOT
  struts2 Maven Webapp
  http://maven.apache.org
  
  
  		
  		4.13
  		4.0.1
  		2.5.10
  
  
  
  
    
      junit
      junit
      4.13
      test
    
    
    
	
	    javax.servlet
	    javax.servlet-api
	    4.0.1
	    provided
	
	
	
	

    org.apache.struts
    struts2-core
    2.5.10

	
    
  
  
    struts2
    
    	
				org.apache.maven.plugins
				maven-compiler-plugin
				3.7.0
				
					1.8
					1.8
					UTF-8
				
			
    	
    
  

2,打开webapp/WEB-INF/web.xml 配置核心过滤器



  Archetype Created Web Application
  
  
  
  	struts
  	org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
  
  
  
  	struts
  	*.action
  

3,新建一个xml,命名必须为struts.xml,建议每创建一个action都要对应一个xml

,在建一个xml,用来配置stuts2,此时命名可以随便取,在struts.xml导入新建的这个xml如图二

 图一:

图二:

 跳转页面有两种方式大家都知道,那么在struts应该怎么实现呢,在这里我建了一个action所以对应了一个xml

struts2获取参数值

实现 ModelDriven 接口 与  接口所对应的getModel()方法

效果图:

与J2EE容器交互

        1,非注入

                1.1耦合

                1.2解耦

        2,注入(实现RequestAware接口和所对应的方法)

                2.1耦合(实现HttpServletRequest和HttpServletResponse接口和所对应的方法)

                2.2解耦(实现RequestAware接口和所对应的方法)

以上就是struts2入门

strtuts2的工作原理


     1.启动tomcat,完成struts2与web项目的集成(初始化struts.xml)


     2.由页面或者postman发起*.action请求


     3.由struts2核心过滤器进行请求拦截,并获取请求路径名*(userAction_*)


     4.逐一与struts2的核心配置文件中的action节点的name属性进行比对
              ---找到了,根据action节点的class属性反射机制实例化子控制器类,然后根据动态方法名
              ---没找到,There is on Action mapped(找不到子控制器类)


      5,创建子控器Action后,船舰Action Context上下文对象并往其中注入五个常用对象
          session/request/application/parameters/valuestack(root根)将value Stack设置为根对象
          注意:OgnlContext的实际实现者就是ActionContext
      
      6.压栈的动作:
                         将实例化的Action子控制器类作为值栈中的第一个元素,加入到ValueStack中
                 如果子控制器器类实现了ModelDriven接口,那么将ModelDriven接口的返回值对象作                     为第二个元素压入Value Stack
      
      7.Struts中有个ParameterIntercepter,将与ValueStack值栈中的元素进行逐一比对
              --由上往下,进行赋值对比

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777313.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号