JavaWeb18-HTML篇笔记(一)


1.1 上次课内容回顾:
注解:
* JDK中的三个注解:[/align]    * 自定义注解:
        * @interface
        * 注解类型:基本类型,String,Class,注解,枚举,以上类型的一维数组.
    * 注解的反射:
Servlet3.0
    * 注解开发:
    * 文件上传:
    * 异步请求:
动态代理:
    * Proxy.newProxyInstance(ClassLoader cl,Class[] interfaces,InvocationHandler handler);
    * 如何增强类中的某个方法:
类加载器:
    * 引导类加载器:
    * 扩展类加载器:
    * 应用类加载器:
1.2 网上商城的实战的案例: 1.2.1 需求:
1.2.2 数据库设计:
1.2.3 网上商城用户模块的代码实现:(前台) 1.2.3.1 编写一个通用的Servlet:
传统方式的开发一个请求对应一个Servlet:这样的话会导致一个模块的Servlet过多,导致整个项目的Servlet都会很多.能不能做一个处理?让一个模块致用一个Servlet处理请求.
注册:http://localhost:8080/store_2.0/UserServlet?method=regist
登录:http://localhost:8080/store_2.0/UserServlet?method=login
激活:http://localhost:8080/store_2.0/UserServlet?method=active
商品查询所有:http://localhost:8080/store_2.0/ProductServlet?method=findAll
商品查询某个:http://localhost:8080/store_2.0/ProductServlet?method=findById
传统:
public class UserServlet extends HttpServlet{
    public void service(HttpServletRequest req,HttpServletResponse resp){
        // 接收参数:
        String methodName = request.getParameter(“method”);
        if(“regist”.equals(methodName)){
            regist(req,resp);
        }else if(“login”.equals(methodName)){
            login(req,resp);
       }
   }
   public void regist(HttpServletRequest req,HttpServletResponse resp){
   }
   public void login(HttpServletRequest req,HttpServletResponse resp){
   }
}
public class ProductServlet extends HttpServlet{
    public void service(HttpServletRequest req,HttpServletResponse resp){
        // 接收参数:
        String methodName = request.getParameter(“method”);
        if(“findAll”.equals(methodName)){
            findAll(req,resp);
        }else if(“findById”.equals(methodName)){
            findById(req,resp);
       }
   }
   public void findAll(HttpServletRequest req,HttpServletResponse resp){
   }
   public void findById(HttpServletRequest req,HttpServletResponse resp){
   }
}
反射:
public class BaseServlet extends HttpServlet{
     public void service(HttpServletRequest req,HttpServletResponse resp){
          // http://localhost:8080/store_2.0/UserServlet?method=regist
          // http://localhost:8080/store_2.0/ProductServlet?method=findAll
          String methodName = request.getParameter(“method”);
          // 获得Class:
          Class clazz = this.getClass();
          Method method = clazz.getMethod(methodName,HttpServletRequest.class,HttpSerlvetResponse.class);
          String path = (String)method.invoke(this,req,resp);
          if(path != null){
              req.getRequestDispatcher(path).forward(req,resp);
          }
     }
}
public class UserServlet extends BaseServlet {
   public String regist(HttpServletRequest req,HttpServletResponse resp){
         
         return “/login.jsp”;
   }
   public String login(HttpServletRequest req,HttpServletResponse resp){
         return “/index.jsp”;
   }
}
public class ProductServlet extends BaseServlet{
   public String findAll(HttpServletRequest req,HttpServletResponse resp){
         
   }
   public String findById(HttpServletRequest req,HttpServletResponse resp){
      
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值