aspectJ——web工程helloworld
1、新建一个web工程。点我下载,不要积分噢
2、创建完成后,在工程名上点击右键-->选择configure-->convert to aspectj projects..。
3、新建一个serlvet
testServlet.java
package com.xueyoucto.xueyou;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class testServlet
*/
@WebServlet("/testServlet")
public class testServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public testServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// response.getWriter().append("Served at: ").append(request.getContextPath());
ServletOutputStream out = response.getOutputStream();
out.println("<h1>hello from an aspect</h1>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
4、新建一个方面,命名为:webAspect.aj
package com.xueyoucto.xueyou.aspect;
import java.io.IOException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public aspect webAspect {
public pointcut CaptureAndFooter(HttpServletRequest request, HttpServletResponse response) :
execution(protected void com.xueyoucto.xueyou.testServlet.doGet(HttpServletRequest, HttpServletResponse)) && args(request,response);
before(HttpServletRequest request, HttpServletResponse response) throws IOException:
CaptureAndFooter(request,response){
System.out.println("before");
ServletOutputStream out = response.getOutputStream();
out.println("<h1>head</h1>");
}
after(HttpServletRequest request,HttpServletResponse response) throws IOException:
CaptureAndFooter(request,response){
System.out.println("after");
ServletOutputStream out = response.getOutputStream();
out.println("<h1>footer</h1>");
}
}
5、在WebContent/WEB-INF/lib中增加jar包:aspectjrt.jar。右键单击,增加到build path。
6、部署、运行:
7、运行成功。