finally的用法,拦截器是Struts2的核心,异常处理

1、finally的用法:
public static int getA(){
    try{
        String a = "123";
        s.equals("123");
        return 3;
    }catch(Exception e){
        return 4;
    }finally{
        return 5;//无论异常有没有,finally一定要执行
    }
}
public static void main(String args[]){
    int a=getA();
    sysout(a);//a=5
}

2、mysql的乱码问题
    相比gbk,utf-8:范围大,都识别中文

3、开发要分层(面向对象)
    Dao(持久层)业务服务层 控制层

4、servlet过程
    显示实现service方法,先访问构造器,然后init是在最开始使用servlet时,加载一次。
    servlet不能做单元测试(servlet是侵入式设计模式,)

5、为什么Struts是线程安全的?
servlet是非线程安全:单实力,多线程模式
Struts:多线程,多实例

6、概念模型:

8.15

流程:创建VO实体对象->写service层->action->struts

8.16

404错误:文件找不到,拦截器解决,拦截器是Struts2的核心

迭代器???

迭代的过程要注意什么问题??

拦截器:
<!--配置拦截器  -->   
        <interceptors>
        <!-- 配置处理编码格式问题的拦截器 -->
            <interceptor name="encondingInterceptors" class="com.etc.interceptor.EncondingInterceptors"></interceptor>
            <!--拦截器栈(拦截器集合)  -->
            <interceptor-stack name="myDefaultStack">
            <!-- 引用自己的拦截器 -->
                <interceptor-ref name="encondingInterceptors"></interceptor-ref>
                <interceptor-ref name="defaultStack"></interceptor-ref>
            </interceptor-stack>
        </interceptors>
        <!-- 配置Struts2默认使用的拦截器 -->
        <default-interceptor-ref name="myDefaultStack"></default-interceptor-ref>

将异常转到界面:
<!-- 全局视图 -->
<global-results>
    <result name="error">/error.jsp</result>
</global-results>
<!--异常处理  -->
<global-exception-mappings>
    <!--只要发生java.lang.Exception,跳转到error视图  -->
    <exception-mapping result="error" exception="java.l    ang.Exception"></exception-mapping>
</global-exception-mappings>

时间: 2024-10-27 17:27:32

finally的用法,拦截器是Struts2的核心,异常处理的相关文章

关于struts2的自定义拦截器和struts2的详细流程

1.其实我们大家平常都会用struts2用的很多,但是有的时候我们并不是真正的了解struts2的运行机制,下面给大家分享一下struts2的运行流程.MVC框架 解释如下: 1.  所有请求被Struts2核心控制器StrutsPreparaedAndExecuteFilter拦截 2.根据ActionMapper提供的信息决定如何进行下一步 3.ActionMapper主要依赖Struts2的配置文件struts.xml 4.接下来为每个Action创建Action代理类ActionProx

JAVAEE——struts2_04:自定义拦截器、struts2标签、登陆功能和校验登陆拦截器的实现

一.自定义拦截器 1.架构 2.拦截器创建 //拦截器:第一种创建方式 //拦截器生命周期:随项目的启动而创建,随项目关闭而销毁 public class MyInterceptor implements Interceptor{} //创建方式2: 继承AbstractInterceptor -> struts2的体贴 //帮我们空实现了init 和 destory方法. 我们如果不需要实现这两个方法,就可以只实现intercept方法 public class MyInterceptor2

利用注解加拦截器实现struts2的权限设置

需求分析: 列出所有的权限,然后通过选择让每个部门拥有相关的权限,如果有该权限则可以进行操作,如果没有提示没有权限信息. 为了能够实现重用性,这里选择注解的形式 思路:既然利用struts2做,那么实现自定义拦截器就可以方便的实现对action中的方法的拦截与放行,首先建立权限表,把系统所有的功能全部列出来,如图1所示. 建立表存放系统所有的功能项sys_popedom,建立字段 popodomModule(模块的部门组),popedomPrivilege(模块的具体部门的具体功能),sort(

(转)关于struts2的自定义拦截器和struts2的详细流程

转自 http://www.94cto.com/index/Article/content/id/63218.html.话说,写的真不错. 1.其实我们大家平常都会用struts2用的很多,但是有的时候我们并不是真正的了解struts2的运行机制,下面给大家分享一下struts2的运行流程.MVC框架 解释如下: 1. 所有请求被Struts2核心控制器StrutsPreparaedAndExecuteFilter拦截 2.根据ActionMapper提供的信息决定如何进行下一步 3.Actio

Struts2整理-----Struts2拦截器

struts2的拦截器是struts2的核心,其底层实现使用了Java的反射机制与动态代理. 实现struts2拦截器的方法 1.实现Interceptor接口,实现init(),destory(),intercept()方法. 2.继承AbstractInterceptor类,重写intercept()方法. 3.继承MethodFilterInterceptor类,重写doIntercept()方法 拦截器实现原理: 当请求struts2的action时,strus2会查找配置文件,并根据其

struts2:拦截器配置

一.拦截器 说明: 拦截器(Interceptor):拦截器是Struts2的核心,Struts2的众多功能都是通过拦截器来实现的. 拦截器跟filter的概念是非常类似的,拦截器只能拦截Action,而filter是可以过滤所有的访问. 所有的Struts 2的拦截器都直接或间接实现接口com.opensymphony.xwork2.interceptor.Interceptor.该接口提供了三个方法: 1)void init(); 在该拦截器被初始化之后,在该拦截器执行拦截之前,系统回调该方

struts2复习(五)拦截器总结

1. 拦截器(Interceptor): 拦截器是Struts2的核心,Struts2的众多功能都是通过拦截器来实现的. 2. 拦截器的配置 1)编写实现Interceptor 接口的类. 2)在struts.xml文件里定义拦截器. 3)在action中使用拦截器 3. 一旦定义了自己的拦截器,将其配置到action上后,我们须要在action的最后加上默认的拦截器栈:defaultStack. 4. 定义拦截器时能够直接继承AbstractInterceptor抽象类(该类实现了Interc

struts2 之 struts2拦截器

1. 拦截器是struts2的核心.Struts2的所有功能都是由拦截器来实现,在struts2中所有功能都是可以自由装配,可插拔实现的.2. 拦截器有点类似于过滤器,只不过拦截器只拦截action. 3. 在struts2提供了很多拦截器,分别来实现常见的一些功能. alias:对于HTTP请求包含的参数设置别名. autowiring:将某些JavaBean实例自动绑定到其它Bean对应的属性中,有点类似于Spring的自动绑定. chain:在Web项目开发中,以前使用Struts开发时经

Struts2 笔记(2) --Struts传值/跳转/拦截器/注解等

1.action中如何接受页面传过来的参数 第一种情况:(同名参数) 例如: 通过页面要把id=1 name=tom age=20这三个参数传给action 1.action里面定义三个成员变量id name age,这个三个变量的名字一定要和所传变量的名字一致. 2.提供get/set方法 3.将来页面把这三个参数传过来的时候,struts2框架会自动的帮我们把这个三个参数值放action中的三个属性里面.(同时还做了类型的转换) 注意:这个工作其实是由defaultStack这个拦截器栈里面