`
qyzone
  • 浏览: 6032 次
社区版块
存档分类
最新评论

Servlet处理form的一些封装应用

阅读更多

     我们在平时写程序时都会利用各种各样的框架,从而提升工作效率和代码质量,其实框架归根到底是由底层的代码搭建起来,打好基础是非常重要;下面主要想谈谈Servlet如何把从提交form表单时传来的参数封装在一个class里,并且对其进行解析调用,其中涉及的知识点主要是Servlet和Java反射机制。

 

Servlet基本知识:

1、Servlet的框架是由两个Java包组成的:javax.servletjavax.servlet.http

2、Servlet的生命周期:

  (一)初始化阶段:init方法;

  (二)响应客户请求阶段:service方法;

  (三)终止阶段:destroy方法 

 

Java反射机制的基本介绍: 

 

       1、Java反射是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fieldsmethods的所有信息,并可于运行时改变fields内容或唤起methods

       2、Java反射机制容许程序在运行时加载、探知、使用编译期间完全未知的classes

 

     换言之,Java可以加载一个运行时才得知名称的class,获得其完整结构

public abstract class TestAction extends HttpServlet {

	protected HttpServletRequest request; //请求对象
	protected HttpServletResponse response;//响应对象
	private ActionForm actionForm;

	/**
	 * 初始化
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void init(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
		 init(formClass);//实例化继承ActionForm父类的子类class
		 initField();// 初始化ActionForm 变量
	}
	
	@Override
	protected void service(HttpServletRequest request,HttpServletResponse response) {
		//处理请求
		/**如果想获取form表单提交时的变量信息,可根据ActionForm表单class对应变量的get和set方法获取**/
	}
	
	private void initField() {
	Field[] fields = actionForm.getClass().getDeclaredFields();//返回的是classr的声明变量的集合
	for (Field field : fields) {//遍历
	String fieldName = field.getName();//获取变量名
         String[] values = request.getParameterValues(fieldName);//基于servlet 的 request请求方法
	Class<?> type = field.getType();//变量的类型
String firstLetter = fieldName.substring(0, 1).toUpperCase();
String setMethodName = "set" + firstLetter + fieldName.substring(1);//拼成变量生成的get和set的方法
	Method setMethod;
			try {
				setMethod = actionForm.getClass().getMethod(setMethodName,new Class[] { type });
				setMethod.invoke(actionForm, values);//把页面传来的变量set到class对应的变量上
			} catch (Exception e) {
			}
		}
	}
	
	/**
	 * 销毁
	 */
	@Override
	public void destroy() {
		super.destroy();
	}
} 

  

 

By cq

分享到:
评论

相关推荐

    extjs+servlet+json简单应用

    总结来说,"extjs+servlet+json简单应用"是利用ExtJS构建前端界面,通过Ajax与Servlet进行通信,Servlet处理业务逻辑并返回JSON数据,再由ExtJS解析并展示。这种方式让前后端职责明确,提高了代码的可维护性和扩展性...

    servlet实现留言板

    总的来说,"servlet实现留言板"项目是一个典型的Java Web应用程序,它整合了Servlet进行后端处理、Javabean封装数据、JSP生成动态内容以及HTML构建用户界面。这个项目对于学习和理解Java Web开发流程具有很高的实践...

    实验四 JavaBean及Servlet使用

    在这个实验中,学生将学习如何使用JavaBean封装数据,通过Servlet处理HTTP请求,以及DAO模式在数据库操作中的应用。此外,还将了解JavaScript客户端验证、JSP表达式和请求转发等Web开发技术。通过实践,学生能够更...

    jsp+servlet实现图片上传

    在JSP和Servlet结合使用时,JSP主要负责展示逻辑,而Servlet则处理业务逻辑和数据操作。 2. **文件上传原理**: 文件上传通常涉及到表单(`&lt;form&gt;`)元素,尤其是`&lt;input type="file"&gt;`字段,用于让用户选择本地...

    Servlet源码

    Servlet是Java平台上的一个核心组件,用于开发动态Web应用程序。Servlet源码的分析能帮助我们深入理解HTTP请求处理流程、服务器生命周期管理以及Java Web开发的底层机制。Apache Tomcat是一款广泛应用的Servlet容器...

    servlet jsp javabean 实现的文件上传

    在Java Web开发中,Servlet、JSP和JavaBean是三个核心组件,它们共同协作来构建动态网站应用。这里我们将深入探讨如何使用这三个技术实现文件上传功能。 Servlet是Java编程语言中的一个接口,由Java Servlet API...

    servlet上传下载

    当用户选择文件并提交表单时,数据会被封装成多部分的HTTP请求(multipart/form-data)。Servlet通过解析这个请求,可以获取到上传的文件内容。Apache的Commons FileUpload库提供了一套方便的API,帮助开发者轻松...

    学生信息管理系统(JSP+Servlet+EasyUI)--入门项目

    Servlet是Java Web应用的核心组件,它是一个Java类,用于处理来自客户端(如浏览器)的请求并生成响应。在学生管理系统中,Servlet主要负责业务逻辑处理,如接收用户的HTTP请求,对数据库进行操作,如添加、删除、...

    基于JSP+Servlet+JavaBean实现的图书管理系统

    在这个系统中,JSP主要负责视图展示,Servlet处理业务逻辑,而JavaBean则作为数据模型来封装和管理数据。 **1. JSP(JavaServer Pages)** JSP是Java平台上的动态网页技术,它允许开发者将HTML代码与Java代码混合...

    文件上传 JSP + Servlet

    JSP是Java的一种视图技术,主要用于展示动态内容,而Servlet则是Java Web应用中的控制器,处理用户的请求并生成响应。在文件上传场景中,JSP通常用于接收用户选择的文件,Servlet则负责处理文件的上传逻辑。 在这个...

    JSP+JavaBean+Servlet登录系统

    在这个系统中,JSP(JavaServer Pages)负责展示视图,Servlet处理业务逻辑,而JavaBean则作为数据容器,封装了用户的数据和业务方法。 1. **JSP**:JSP是一种服务器端技术,它允许开发者在HTML页面中嵌入Java代码...

    Web on Servlet Stack

    Spring Web MVC是Spring框架的一个核心模块,主要用于构建基于Servlet容器的Web应用程序。它提供了一个灵活、强大的机制来处理HTTP请求,并将其映射到适当的控制器上执行业务逻辑。Spring Web MVC的设计理念之一就是...

    JSP+servlet实现简单的学生信息管理

    Servlet则负责处理业务逻辑,它是Java应用程序的一部分,运行在服务器端,接收并响应客户端请求。 在"JSP+servlet实现简单的学生信息管理"项目中,我们通常会创建以下几个核心组件: 1. **Servlet**:这是系统的...

    tomcat+tomcat插件+servlet文件上传jar包

    在Java中,我们可以使用`java.servlet.Part`接口来处理上传的文件,它是Servlet 3.0引入的用于处理multipart/form-data请求的API。 具体到这个压缩包中的“servlet文件上传jar包”,可能包含了一个预封装好的...

    jsp+javabean+servlet实现用户登录与注册.doc

    `&lt;form&gt;`标签的`method`属性定义了数据提交的方式(GET或POST),而`action`属性指定了处理表单数据的Servlet的URL。 #### 6. HTTP头部控制 在JSP页面中,使用`&lt;meta http-equiv="pragma" content="no-cache"&gt;`等...

    jquery与servlet交互

    在Servlet端,我们需要处理这个POST请求,获取传入的参数,进行业务处理,然后返回结果。以下是一个基础的Servlet实现: ```java import javax.servlet.*; import javax.servlet.http.*; import java.io.IOException...

    关于表单的Servlet708

    在压缩包文件名称列表中的"708FormServlet"可能是项目的源代码文件,其中包含了实现上述功能的Servlet类。这个类可能包含了处理注册和登录请求的方法,以及设置字符编码和应用过滤器的配置。 总的来说,这个主题...

    JSP+JAVABEAN+SERVLET

    在Web开发领域,JSP(JavaServer Pages)、JavaBean 和 Servlet 是 Java Web 开发的基础技术之一,尤其是在早期的 Java Web 应用程序开发中占据了极其重要的地位。这些技术共同构建了一个完整的服务器端应用程序框架...

    Servlet STUTRS API 帮助文档

    Servlet提供了基本的服务器端处理能力,而Struts则通过其MVC架构和丰富的功能,帮助开发者构建出结构清晰、易于维护的Web应用程序。理解并熟练掌握这两个技术对于Java Web开发人员来说至关重要。

    Servlet 源码包

    5. **安全性**:Tomcat支持多种安全模型,如Basic Auth、Form Auth等,这涉及到`javax.servlet.security`包中的接口和类。`org.apache.catalina.authenticator`包包含了Tomcat的认证实现。 6. **过滤器链**:...

Global site tag (gtag.js) - Google Analytics