1.线程安全就是你可以在多线程环境下使用它,而不需要你来对它进行特殊的处理。action都是继承至servlet的,由于servlet就是线程不安全的(指多个线程共享一个servlet对象,所以),所以不要再action中定义类变量和实例变量,否则其他线程改变了这些值,可本线程还在使用
2.c = ActionServlet
m = DAO Model
v = jsp file3.HQL:Hibernate Qusery Language
条件查询Criteria Query
原生SQL语句查询5load()与get()的区别 load()方法可能抛出无法恢复的异常(unrecoverable.如果类的映射使用了代理(proxy),load()方法会返回一个未初始化的代理,直到你调用。从数据库中装载该对象时同时装载相关联的那个对象,那么这种操作方式就用得上的了
2.c = ActionServlet
m = DAO Model
v = jsp file3.HQL:Hibernate Qusery Language
条件查询Criteria Query
原生SQL语句查询5load()与get()的区别 load()方法可能抛出无法恢复的异常(unrecoverable.如果类的映射使用了代理(proxy),load()方法会返回一个未初始化的代理,直到你调用。从数据库中装载该对象时同时装载相关联的那个对象,那么这种操作方式就用得上的了
actionServlet:核心技术
form:就是一个BEAN,用来传值。
m = formBean 里面的字段和v中的JSP 表单标签的property字段对应
c = action 业务逻辑 (execute方法)
HTTP请求-->ActionServlet doGet() doPost()方法-->调用本类Process(request,response)方法-->获得请求处理器对象RequestProsessor调用它的process(request,response)方法;
在内存中生成大量的映射HasMap 最后调用Action 类的 execute()方法.
AOP Aspect Oriented Programming,面向方面编程。更大程度上的降低程序调用者和被调用者之间的耦合性。如Spring的TransactionInterceptor可以实现数据库库操作中事务的容器管理,而不用开发人员关心这些重复性的工作。IoC Inversion of Control,控制反转。将自己模块交给容器去控制,而不是由模块本身去处理。如Spring中的Bean的概念,开发人员将自己开发的Bean能过配置通知容器,容器可帮开发者加载、实例化,而不用开发者手动进行。