`
jianggege
  • 浏览: 97207 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java取得request对象中所有的参数值并生成实体对象工具类

阅读更多

Java中使用Servlet的是否最烦的是表单数据太多的的是否自己写代码封装数据太麻烦,于是写了一个解析request中的数据封装成对象的工具类方法,代码如下:

1、工具类代码:

package com.crazyiter.mssp.utils;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.beanutils.BeanUtils;
/**
* 取得request对象中 所有的参数值并生成 一个相应的对象返回
* @author john
*
*/
@SuppressWarnings("all")
public class ParseHtml {
/**
* Class<T> beanClass可以接受任何类型的javaBean,使用泛型调用者不用进行强转
* @param <T>
* @param request
* @param beanClass
* @return
*/
public static <T> T request2Bean(HttpServletRequest request, Class<T> beanClass) {
try {
/**创建封装数据的bean**/
T bean = beanClass.newInstance();
Map map = request.getParameterMap();
BeanUtils.populate(bean, map);
return bean;
} catch (Exception e) {
throw new RuntimeException(e);
}
}

}

(工具代码)

2、使用代码:
package com.crazyiter.mssp.action;

import java.io.IOException;
import java.lang.reflect.Method;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.crazyiter.mssp.common.ReflectionUtils;
import com.crazyiter.mssp.domain.SmsConfig;
import com.crazyiter.mssp.service.SmsService;
import com.crazyiter.mssp.utils.ParseHtml;

/**
* 用户管理Controller
* @author john
*/
@SuppressWarnings("serial")
public class SmsConfigAction extends HttpServlet {
SmsService smsService = new SmsService();
/**
* 根据短信配置信息
*/
public void getsmsconfig(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
SmsConfig smsConfig = smsService.getSmsConfig();
request.setAttribute("smsconfig", smsConfig);
request.getRequestDispatcher("view/smsconfig/edit.jsp").forward(request,response);
}
/**
* 修改短信配置信息
*/
public void updatesmsconfig(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
SmsConfig sc = (SmsConfig)ParseHtml.request2Bean(request, SmsConfig.class);
System.out.println(sc.getUrl());
request.getRequestDispatcher("index.jsp").forward(request,response);
}
/**
* 短信数据Controller过滤器
*/
public void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String cmd = request.getParameter("cmd");
Method method = ReflectionUtils.getDeclaredMethod(SmsConfigAction.class, cmd);
try {
if(method!=null){
method.invoke(new SmsConfigAction(),request, response);
}else{
request.getRequestDispatcher("index.jsp").forward(request,response);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

(例子代码)


注意:上面的绿色部分为主要实现代码。

转自:http://www.crazyiter.com/software/document/474.html

分享到:
评论

相关推荐

    09_Java Web——Request&Response案例

    2. **Servlet**:在Java Web中,Servlet是处理HTTP请求并生成响应的Java类。它扩展了Java平台的网络应用能力,允许开发者编写动态Web内容。 3. **HttpServletRequest对象**:当客户端发送一个HTTP请求到服务器时,...

    JAVA_API1.6文档(中文)

    java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...

    Java 1.6 API 中文 New

    java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类。...

    JAVA(SpringBoot) JPA 代码生成工具

    **Java SpringBoot JPA 代码生成工具** 在Java开发领域,SpringBoot框架因其简洁的配置、快速的开发效率以及丰富的生态而备受青睐。在构建基于SpringBoot的应用时,数据访问层通常采用Java Persistence API (JPA) ...

    springMVC代码生成工具

    对于MySQL数据库的支持,意味着该工具可以连接到MySQL数据库,解析表结构,并根据表的信息生成对应的实体类(Model)以及相应的数据访问对象(DAO)。这通常包括CRUD(创建、读取、更新、删除)的基本操作,有时还会...

    java api最新7.0

    java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类。...

    JavaAPI中文chm文档 part2

    java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...

    JavaAPI1.6中文chm文档 part1

    java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...

    Jaxb webservice java调用

    Java中的JAXB(Java Architecture for XML Binding)是一个用于在Java对象和XML之间进行绑定的工具,使得我们可以方便地在XML文档和Java对象之间进行转换。它简化了Web服务的开发,尤其是在处理XML数据时。本篇文章...

    Java语言中所有常用术语解释大全 txt

    ### Java语言中的常用术语详解 #### AAA系统(认证、授权、计帐) 在Java领域乃至整个计算机网络领域中,AAA(认证、授权、计帐)系统是非常重要的一个概念。它通常用于实现网络资源的安全访问控制。 - **认证...

    [Java参考文档]

    java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...

    Oracle10g Java Programming

    在Oracle 10g环境中进行Java编程涉及到一系列关键概念和技术,包括Java平台的构成、Java虚拟机(JVM)、Java开发工具包(JDK)以及Java在企业互联网计算中的应用。以下是对这些知识点的详细解释: **Java平台**:...

    [Java参考文档].JDK_API 1.6

    java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类。...

    从J2SE到J2EE知识点介绍

    方法重载允许在同一个类中定义多个同名但参数列表不同的方法,而方法覆盖则是在子类中重新定义父类的方法。 6. **接口(Interface)**:接口定义了一组方法签名,是实现多继承的手段。内部类(Inner Class)可以在...

    java常用名词解

    回调机制是指在程序设计中,一个函数或方法可以将另一个函数作为参数传递,并在适当的时候调用该参数。这种方式常用于异步处理、事件驱动模型等场景。例如,在完成某个操作后需要通知调用方时,可以通过回调函数来...

    开发小工具

    开发小工具是 Java 开发中常用的工具包,itcast-tools-1.4.jar 库提供了多种实用功能,包括生成随机字符、Map 到 Bean 的转换、数据库连接池等。下面是开发小工具的详细介绍。 CommonUtils CommonUtils 是一个实用...

    java必备知识点大全.pdf

    List、Set、Collection、Collections:List是有序的Collection,Set不允许重复元素,Collection是集合框架的根接口,Collections则是提供各种方法来操作集合的工具类。 Java的基本数据类型:Java中的基本数据类型有...

Global site tag (gtag.js) - Google Analytics