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>