SSH之 Structs2配置与入门

1  创建web项目


2  导入struts2中所需要的包.

struts2-core-2.2.1.1.jar  struts2中的核心包

xwork-core-2.2.1.1.jar   xwork 也是一个web框架, webwork 是基于xwork的..

commons-fileupload-1.2.1.jar commons-io-1.3.2.jar  处理流和文件上传

freemarker-2.3.16.jar   模板引擎的处理框架,    将jsp或者其他的模板高效生成html.. 

ognl-3.0.jar 相当于el和jstl   , 当时比这里牛多了...

javassist-3.7.ga.jar  主要是多java类的字节码文件进行处理

 

3、配置strust2在当前的web项目中

在web.xml中配置struts2所需的核心过滤器

          
           struts2
           org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
         
         
           struts2
           /*
         


4 写处理请求所需要的Action      

        public class HelloAction {
           public void hello(){
               System.out.println("HelloAction....hello Method");
           }
        }


5、在struts.xml中配置上面的Action.

 struts.xml 放在classpath的根目录下面, struts.xml的名字是固定的..

 根据约束文件写struts.xml,  在struts.xml中如果不会提示节点,那么需要eclipse关联dtd

        

6、执行Action.

        http://localhost:8080/app_name/package_namespace/action_name

每次请求都会创建一个Action的对象, 存在线程安全性..

 

7、structs.xml中的一些配置:

      
           
           
           
                   
               
           
       


8、使用拦截器:

定义:   

<interceptors>

         <interceptorname="params"class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>

      interceptors>

调用:

      <actionname="hello"class="cn.itcast.cd.action.HelloAction"method="hello">

         <interceptor-refname="params">interceptor-ref>

      action>

 

9. Result返回页的配置

    9.1  Action中对应的方法执行完后需要转到一个视图

        需要通过该Action中定义的方法的返回的String字符串来指定Result

    9.2  这些Result都需要配置到:

name="threePage"class="cn.itcast.cd.action.ResultAction"method="result3">

               注释:

                     name:  action中的方法执行完后返回的字符串

                     type:  以哪种方式转向指定的页面

                                该类型提前做好配置:

1.可以自己配置:在当前Action所在的包中配置


      

       

	

那么这些配置类型只能够在当前包中使用,或者是在当前包的子包中使用..


2. 可以继承struts-default包使用里面定义好的类型,例:

"oa"namespace="/oa" extends="struts-default">

注释结束-->    

name="page3"type="plainText">

                    <paramname="location">/page3.jsp</param>

                    <paramname="charSet">UTF-8</param>

 

如果action没有指定type就会是用默认的type,在result-types定义的时候就指定...structs-default包里预定义的默认type是dispatcher,可以更改后面的default=true来更改默认type

 

如果在包中定义:

    
        
              /globalResult.jsp
              
               

     那么当Action对应的方法执行完后,按照返回的字符串找Result,但是在当前Action中找不到对应的Result就会去global-results

 

10、常用的Result Type

   1. Dispatcher    请求转发

   2. Redirect      URL重定向

   3. PlainText      纯文本


 11. 常量配置:

     在根元素下可以使用constant子元素配置常量。

       从strut2的核心jar包内的org.apache.struts2包下的default.properties文件中可以看到各个常量的注释说明,典型几个常量:

       配置访问Action的后缀,可以配置多个后缀名。 提示:default.properties文件中为该常量配置了一个空字符串。

       常量struts.devmode可以让struts在控制台中打印出更多的信息和重新加载配置文件。

       常量struts.configuration.xml.reload可以让struts重新加载配置文件,但不会导致web应用重新启动。

       常量struts.i18n.encoding可以设置struts内部进行各种字符编码处理时的字符集编码,例如,用于获取请求参数时的解码、读取静态文本文件和输出静态文本文件时的字符解码和编码。

       可以配置不支持动态方法调用。


       常量可以在下面多个文件中进行定义,struts2加载常量的搜索顺序如下,后面的设置可以覆盖前面的设置:

       default.properties文件

       struts-default.xml

       struts-plugin.xml

       struts.xml

       struts.properties(为了与webwork向后兼容而提供)

       web.xml


       对于struts.devmode有时候不好使



12、包的定位和Action的查找

      


      

       "packageName" namespace="/com"  extends="struts-default">

                     "paction1" class="cn.itcast.cd.action.PackageAction"method="paction1">

                    

      


      

       "packageName1" namespace="/com/itcast"  extends="struts-default">

      

      

       

       "packageName2" namespace="/"  extends="struts-default">

                     "paction2" class="cn.itcast.cd.action.PackageAction"method="paction2">

                    

      


      

       "default_packageName3" extends="struts-default">

                     "paction1" class="cn.itcast.cd.action.PackageAction"method="paction1">

                    

      

 

13、Structs.xml中的默认值与配置:

在根元素下可以使用include子元素引入其他的配置文件,这样可以将各个模块分散在不同的配置文件中进行配置


 



 





/success.jsp

    



插件:

使用ConfigBrowser Plugin浏览已经装载的配置信息和列表针对各个包名称空间下的所有Action的访问链接。


14动态方法调用:

14.1、在url里面/action名称+感叹号+方法名,不推荐使用此方法

14.2、通配符:

              
              
                     /WEB-INF/view/{1}/list.jsp
                     /WEB-INF/view/{1}/edit.jsp
                     
                            /oa/{1}_list
                     
              

你可能感兴趣的:(SSH,JAVA学习,ssh,action,struts,class,webwork,redirect)