java

 

0.     构造方法不能被继承! 

1.       String 有一个缓冲池机制, String a=”12”; String b=”12” ,   if(a==”12”)if(a==b) 是正确的(至少大多数情况是正确的)    12 ”不会在 new 一个,是在缓冲池中,所以 ab 是同一个 String, hashcode (地址)是相同的。

2.        

      float a=0.1;    // 错误

        double d=0.1;        float b=0.1f;      float c=1;

3.              \r 回车      \n 换行   out.write("\r\n"); 回车换行

4.           static int i; 有初始值, i=0

5.            Struts2 注解    @Action 一般情况下不会覆盖,两种方法都可以访问   @NameSpace 会覆盖默认的“”或“ /   @Action 如果注解到类上, 或者注解到默认的 execute 方法上是会覆盖的;此时用默认解析的 Action 名是找不到的,必须用你重命名的 Action 名字。默认的会这样解析: LoginAction  login        HelloWorld hello-world    HelloWorldAction  hello-world         如果 Action 注解在方法上且如果 Action 名字为 /for/jdbc ,会把 namespace 的设置给屏蔽掉,完全无视        此时 namespace 应该 /for   and action name jdbc.

6.       classpath*:/resource/applicationContext.xml 是可以的,在 WAS 部署是必须这样,其它情况应该不加 * 也可以     classpath:/resource/log4j.properties 此处加上 * 是找不到路径的,不加 * 是可以找到的。

7.       出现页面各种异常,有可能是 Jar 包引入冲突导致。

8.       eclipse 中运行 Tomcate web 项目,部署在工作区间 \.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps  

9.       如果 login.jsp 目录如下   WebContent/jsp/login.jsp  其中 from 如下:       <form method="post" action="other/login!fortest.action">   则会对应的寻找 Action 路径如下: ”/jsp/other/loginfortest.action”  其中的 jsp 命名空间是在 other 之前自动按照 login.jsp 路径自动映射的。此时命名空间为 /jsp/other

10.    struts2 框架

 

 

 

1.  Struts2 模式上的变动:                                                                                                                                 一、Action singleton bean 改为了per requestprototype bean 。之前Struts1 为了线程安全,action 里面没有任何成员变量,在一个处理函数里输入输出都靠requestresponse 参数搞定。                                                                                                                  二、将很多处理透明的分解到了Interceptor Chain 中,因此,Struts2ActionMVC 里的位置,从Controller 转为了Model( 有属性、有行为且不依赖Request/ResponsePOJO) ,而Controller 的角色则由Struts2 亲自担当。

2.  Hessian 是一个轻量级的remoting on http 工具,使用简单的方法提供了RMIRemote Method Invocation ,远程方法调用)的功能。采用的是二进制RPCRemote Procedure Call Protocol ,远程过程调用协议)协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

 

3.        Jsp 本质上是 Servlet Servlet 本质上是 java 文件,最终要编译成 .class 文件再执行的。   \.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work 下可以查看       Login.jsp

 
    

 

4.                                                 

5.        Mvn install     mvn site   mvn test     Maven 里面,一个插件目标也被认为是一个“ Mojo 验证安装到本地仓库的 jar 是否可用 java –cp test.jar com.test.maven.HelloWorld       mvn help:describe  -Dplugin=exec -Dfull

6.        Maven 插件和目标( plugins and goals   mvn archetype:create 其中 archetype 是一个插件标识, create 是目标标识。插件: Jar Compiler Surefire Hibernate3 插件, maven 也提供了自定义插件的能力。    一个 Maven 插件是一个或者多个目标的集合。(一个插件包含一些目标)    一个目标是一个明确的任务,它可以作为单独的目标运行,或者作为一个大的构建的一部分和其它目标一起运行。一个目标是 Maven 中的一个“工作单元( unit of work )”。    

7.        Maven 生命周期( Lifecycle ) 一个阶段是在被 Maven 称为“构建生命周期”的一个步骤。生命周期是包含在一个项目构建中的一系列有序的阶段。 Maven 可以支持许多不同的生命周期,但是最常用的生命周期是默认的 Maven 生命周期,这个生命周期中一开始的一个阶段是验证项目的基本完整性,最后的一个阶段是把一个项目发布成产品。

8.        Maven 下载构件和插件的同时,也下载了对应的 POM 文件。在 Maven 中一个依赖不仅仅是一个 JAR, 它是一个 POM 文件,这个 POM 可能也声明了对其他构件的依赖。这些依赖的依赖叫做传递性依赖。 Maven 仓库不仅仅存贮二进制文件,也存储了这些构建的元数据( metadata , 才是传递性依赖称为可能。

9.        struts2 提供了一贯 ActionContext 类,可以通过该类访问 ServletAPI    ActionContext.getContext() :静态方法获取系统的 ActionContext 对象                        getSession() :返回一个 Map 对象,该对象模拟了 httpSession 实例           getApplication() 返回一个 Map 对象,该对象模拟了 servletContext 实例         Action 类里的属性,不仅可以封装请求参数,还可以封装处理的结果,所以在 jsp 页面里可以直接拿到属性的值 <s:property value="username"/> 或使用 el:  ${requestScope.username } 

10.    struts2 action 中获得 request response session:      HttpServletRequest request = ServletActionContext.getRequest();         HttpServletResponse response = ServletActionContext.getResponse();      HttpSession session = request.getSession();

11.    国际化( internationalization ,经常被称做 "i18n" ,因为 18 是字母 "i" 和字母 "n" 之间的字母个数)

 

12.      

 

 

 

 

 

 

 

   Hessian 向外曝露的接口中,不能用 Spring @Autowired 注解,可能是不兼容(客户端访问不到?),可以用最原始的配置文件:

    

 

通过 applicationContext.xml 或其它配置文件,嵌套 bean 或其他类,在调用的 bean 中要有被调用 bean getter and setter 方法(至少有 setter 方法,通过 setter 方法注入);而用注解 @Autowired ,则不用有 getter and setter 方法。                              

13.    Spring 通过 set 方法注入

 

 

 

 

14.      Struts2 token 标签    token 标签是用于防止多次提交的标签。避免了刷新页面时多次提交,如果需要改标签起作用, 则应该在 Struts2 的配置文件中启用 TokenInterceptor 拦截器或 TokenSessionStoreInterceptor 拦截器。   <s:form> <s:token/></s:form>

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值