发表于: 2017-05-27 22:24:25

3 1316


【说明】今天做了什么呢,,说说我在项目中用到的设计模式吧

一:今日完成

1)filter

这个是所有前台servlet要用到了的过滤器,可以对请求进行转发


String uri = request.getRequestURI();

uri =StringUtils.remove(uri, contextPath);

//以fore开头 而不是 foreServlet开头

if(uri.startsWith("/fore")&&!uri.startsWith("/foreServlet")){

//StringUtils 源码,使用的是 commons-lang3-3.1 包。

//substringAfterLast() 返回最后一个指定字符串之后的所有字符

String method = StringUtils.substringAfterLast(uri,"/fore" );

//将数组变成链表 ,然后判断 里面 有没有包含 mothid方法,不包含(也即需要验证)的话继续

if(!Arrays.asList(noNeedAuthPage).contains(method)){

User user =(User) request.getSession().getAttribute("user");

if(null==user){

response.sendRedirect("login.jsp");

return;

}

}

}

chain.doFilter(request, response);

}

2)servlet

前台只有一个servlet!!包含所有的业务方法

通过引用的包可以看出我用了那些东西

import java.io.BufferedWriter;

import java.io.PrintWriter;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Date;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.math.RandomUtils;

import org.springframework.web.util.HtmlUtils;

import tmall.bean.Category;

import tmall.bean.Order;

import tmall.bean.OrderItem;

import tmall.bean.Product;

import tmall.bean.ProductImage;

import tmall.bean.PropertyValue;

import tmall.bean.Review;

import tmall.bean.User;

import tmall.comparator.ProductAllComparator;

import tmall.comparator.ProductDateComparator;

import tmall.comparator.ProductPriceComparator;

import tmall.comparator.ProductReviewComparator;

import tmall.comparator.ProductSaleCountComparator;

import tmall.dao.CategoryDAO;

import tmall.dao.OrderDAO;

import tmall.dao.ProductDAO;

import tmall.dao.ProductImageDAO;

import tmall.util.Page;

public class ForeServlet extends BaseForeServlet {

3)java反射

对方法进行的映射

Method m = this.getClass().getMethod(method, javax.servlet.http.HttpServletRequest.class,

javax.servlet.http.HttpServletResponse.class,Page.class);

String redirect = m.invoke(this,request, response,page).toString();

if(redirect.startsWith("@"))

response.sendRedirect(redirect.substring(1));

else if(redirect.startsWith("%"))

response.getWriter().print(redirect.substring(1));

else

request.getRequestDispatcher(redirect).forward(request, response);

二:明日计划

明天回家了,到时候找时间看一些知识点吧

三:疑难问题

四:思考总结

果然还是坚持继续提升技术啊


返回列表 返回列表
评论

    分享到