博客
关于我
JavaWeb---实现JavaBean来接收参数、请求转发、域对象
阅读量:375 次
发布时间:2019-03-05

本文共 2297 字,大约阅读时间需要 7 分钟。

JavaWeb - 实现JavaBean接收参数、请求转发与域对象

1. JavaBean的基础知识

JavaBean是一个用于封装数据的Java类,其特点包括:

  • 类具有无参构造
  • 提供私有成员变量
  • 提供共有的getset方法

JavaBean的主要作用是数据的封装与传递,常用于跨类数据交互。

2. JavaBean的语法特征

JavaBean的属性名由getset方法决定。例如:

public class Person {    private Integer id;    public Integer getId() { return id; }    public void setId(Integer id) { this.id = id; }    // 其他属性的getter和setter方法}

属性名通过getset方法的名字推断而来。

3. JavaBean与getParameterMap的结合

传统方法中,getParameter("key")会导致代码重复。使用JavaBean结合getParameterMap()可以统一接收参数。

3.1 JavaBean的实现

创建一个工具类BeanUtil

public class BeanUtil {    public static 
T toBean(Map
map, Class
clazz) { try { T obj = clazz.newInstance(); PropertyDescriptor[] pds = Introspector.getBeanInfo(clazz).getPropertyDescriptors(); for (PropertyDescriptor pd : pds) { String pName = pd.getName(); if (map.containsKey(pName)) { Object value = map.get(pName); if (pd.getPropertyType() == Integer.class) { pd.getWriteMethod().invoke(obj, Integer.valueOf((String) value)); } else if (pd.getPropertyType() == String.class) { pd.getWriteMethod().invoke(obj, (String) value); } else { // 其他类型处理 } } } return obj; } catch (Exception e) { e.printStackTrace(); return null; } }}

3.2 Servlet中的应用

public class MyServlet extends HttpServlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response) {        Person person = BeanUtil.toBean(request.getParameterMap(), Person.class);        request.setAttribute("person", person);        RequestDispatcher dispatcher = request.getRequestDispatcher("otherSvl");        dispatcher.forward(request, response);    }}

4. 请求转发的实现

请求转发通过RequestDispatcher实现,步骤如下:

  • 获取转发对象:
  • RequestDispatcher dispatcher = request.getRequestDispatcher("otherSvl");
    1. 转发请求:
    2. dispatcher.forward(request, response);

      5. 域对象的概念

      域对象由容器创建,具有特定的作用域:

      • 请求对象:处理一个请求,生命周期短
      • 会话对象:跟踪用户的会话
      • 应用上下文对象:保存应用的状态

      域对象通过setAttribute()getAttribute()进行数据交互。

      6. 请求转发注意事项

      • 在转发前,避免使用响应对象输出内容
      • 确保目标Servlet能够处理转发过来的请求

      通过以上方法,可以高效地实现JavaWeb应用的参数接收与请求转发,充分利用JavaBean的优势。

    转载地址:http://dhawz.baihongyu.com/

    你可能感兴趣的文章
    笨办法学python之数据类型
    查看>>
    笨办法学Python之将对象名的字符串类型,转化成相应对象
    查看>>
    ArduPilot源码极速下载手册(一文告别github慢速问题)
    查看>>
    聊一聊那些应该了解的大佬(飞控,人工智能方向)
    查看>>
    ArduPilot+mavros+gazebo+QGC联合仿真初体验
    查看>>
    px4调试bug--添加mavlink_log_info信息
    查看>>
    redis替换字符串命令
    查看>>
    redis向数组中添加值并查看数组长度
    查看>>
    python3基础梳理11python中模块和包
    查看>>
    求出1/1-1/2+1/3-1/4…..1/100的和
    查看>>
    JS编写一个函数,计算三个不同数字的大小,按从小到大顺序打印(穷举法)
    查看>>
    js设置小球的缓冲运动
    查看>>
    jQuery实现轮播图效果
    查看>>
    restFUL
    查看>>
    mybatis中like的注意
    查看>>
    sqlplus的基本使用
    查看>>
    oracle删除表重复数据
    查看>>
    EditText获取焦点并显示软键盘,Textview字间距,EditText输入监听判断不大于,处理倒计时
    查看>>
    Oracle删除主表数据
    查看>>
    js中两种定时器,setTimeout和setInterval实现验证码发送
    查看>>