发表于: 2018-03-22 19:34:38

2 575


今日完成

1.学习AOP

前面只是简单了解了什么是AOP,但是一直没有深入学习.今天重新学习了一遍.


package com.DAO;

public interface HelloWorld {
void printHelloWorld();
   void doPrint();
}


public class HelloWorldImpl1 implements HelloWorld {
public void printHelloWorld() {
System.out.println("Enter HelloWorldImpl1.printHelloWorld()");
   }

public void doPrint() {
System.out.println("Enter HelloWorldImpl1.doPrint()");
       return ;
   }
}


public class HelloWorldImpl2 implements HelloWorld {
public void printHelloWorld()
{
System.out.println("Enter HelloWorldImpl2.printHelloWorld()");
   }

public void doPrint()
{
System.out.println("Enter HelloWorldImpl2.doPrint()");
       return ;
   }
}


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:aop="http://www.springframework.org/schema/aop"
      xmlns:tx="http://www.springframework.org/schema/tx"
      xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-4.2.xsd">
   <bean id="helloWorldImpl1" class="com.POJO.HelloWorldImpl1" />
   <bean id="helloWorldImpl2" class="com.POJO.HelloWorldImpl2" />
   <bean id="timeHandler" class="com.POJO.TimeHandler" />

   <aop:config>
       <aop:aspect id="time" ref="timeHandler">
           <aop:pointcut id="addAllMethod" expression="execution(* com.DAO.HelloWorld.*(..))" />
           <aop:before method="printTime" pointcut-ref="addAllMethod" />
           <aop:after method="printTime" pointcut-ref="addAllMethod" />
       </aop:aspect>
   </aop:config>
</beans>


public class AopTest {
public static void main(String[] args)
{
ApplicationContext ctx =
new ClassPathXmlApplicationContext("aop.xml");

       HelloWorld hw1 = (HelloWorld)ctx.getBean("helloWorldImpl1");
       HelloWorld hw2 = (HelloWorld)ctx.getBean("helloWorldImpl2");
       hw1.printHelloWorld();
       System.out.println();
       hw1.doPrint();

       System.out.println();
       hw2.printHelloWorld();
       System.out.println();
       hw2.doPrint();
   }
}





2.解决昨天上传文件的问题;

  问题已解决:

 问题原因:上图中方框内,属性值与controller内设置不一致;修改后完成.

3.学习servlet;

  Servlet 生命周期:

   Servlet 加载—>实例化—>服务—>销毁。


           1)某个创建servlet对象的时候,调用初始化方法: void init(ServletConfig config);

           2)客户端发送请求的时候,service方法被执行:void service(ServletRequest req, ServletResponse res);

           3)某个servlet对象被摧毁的时候,调用destroy方法: void destroy();


     在这里我们会接触到HttpServlet这个接口,在springMVC项目中我们使用的HttpServletRequest和HttpServletResponse这两个类就是继承自这个接口.  HttpServlet指能够处理HTTP请求的servlet,它再原有的Servlet接口上添加了一些与HTTP协议处理方法,它比Servlet接口的功能更为强大,因此开发人员在编写Servlet时,通常应继承这个类,而避免直接去实现Servlet接口。


     Servlet程序是由web服务器调用,web服务器接收到客户端的Servlet访问请求后:
           1)web服务器首先检查是否已经装载并创建了该Servlet的实例对象,如果是,则直接执行第4步,否则执行第2步。
           2)装载并创建该Servlet的一个实例对象。
           3)调用Servlet实例对象的init()方法。
           4)创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP相应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。

    如下图中,HttpServletRequest对象封装了请求信息.

           5)web应用程序被停止或重新启动前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。


明天计划

1.servlet学习;

遇到问题

---------

收获

学习了servlet,和AOP



返回列表 返回列表
评论

    分享到