反射的使用

  1. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  2. String action = req.getParameter("action");
  3. try {
  4. // 获取action业务鉴别字符串,获取相应的业务方法反射对象
  5. Method method = this.getClass().getDeclaredMethod(action,
  6. HttpServletRequest.class, HttpServletResponse.class);
  7. method.invoke(this, req, resp);
  8. } catch (Exception e) {
  9. e.printStackTrace();
  10. }
  11. }

BeanUtils的使用

BeanUtils工具类,它可以一次性把所有的请求的参数注入到JavaBean中。

BeanUtils工具类,经常用于把Map中的值注入JavaBean中,或者是对属性值的拷贝操作。

BeanUtils他不是jdk的类,是第三方工具类。

需要导入:commons-beanutils-1.8.0.jar 和 commons-logging-1.1.1.jar

WebUtils工具类

  1. public class WebUtils {
  2. /**
  3. * 把map中的值注入到对应的JavaBean中
  4. *
  5. * @param value
  6. * @param bean
  7. */
  8. public static <T> T copyParamToBean(Map value, T bean) {
  9. try {
  10. /**
  11. * 把所有请求的参数都注入user对象中
  12. */
  13. BeanUtils.populate(bean, value);
  14. } catch (IllegalAccessException e) {
  15. e.printStackTrace();
  16. } catch (InvocationTargetException e) {
  17. e.printStackTrace();
  18. }
  19. return bean;
  20. }
  21. }

MVC概念

  1. MVC全称:Model模型、View视图、Controller控制器。
  2. MVC最早出现在JavaEE三层结构中的web层,它可以有效的直到Web层的代码如何有效分离,单独工作。
  3. View视图:只负责数据和界面的显示,不接受任何域显示无关的代码,便于程序员和美工的分工合作——JSP/HTML
  4. Controller控制器:只负责接收请求,调用业务层的代码处理请求,然后派发页面,是一个“调度者”的角色——Servlet。转到某个页面。或者是重定向到某个页面。
  5. Model模型:将与业务逻辑相关的数据封装为具体的JavaBean类,其中不参杂任何与数据处理相关的代码——JavaBean.domain/entity/pojo
  6. MVC 是一种思想:理念是将软件代码拆分成为组件,单独开发,组合使用(目的还是为了降低耦合度)。

image-20200816133018444.png