javaee 反射应用之一,获得对象的字段信息

这篇具有很好参考价值的文章主要介绍了javaee 反射应用之一,获得对象的字段信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

package com.test.classobject;

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

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

import com.test.pojo.Student;

/**
 * Servlet implementation class AddStudentServlet
 */
@WebServlet("/AddStudentServlet")
public class AddStudentServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public AddStudentServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
				//response.getWriter().append("Served at: ").append(request.getContextPath());
			    Class clazz=Student.class;
			    
			    Field[] arr= clazz.getDeclaredFields();
			    
			    Student student=new Student();
			    
			    //遍历student对象中的所有的字段
			    for(Field field:arr)
			    {
			    	String name= field.getName();//获得当前字段的名称  依次获得sid sname age 
			    	String value=request.getParameter(name);//根据字段名称获取表单中对应元素的值
			    	
			    	//response.getWriter().println(field.getGenericType().toString());
			    	
			    	try {
			    		field.setAccessible(true);//设置当前字段可以访问	    		
			    		//将值存入student对象中对应的字段
			    		if(field.getGenericType().toString().equals("int"))
			    		    field.set(student, Integer.parseInt(value));
			    		else if(field.getGenericType().toString().equals("class java.lang.String"))
			    			field.set(student, value);
			    		
					} catch (IllegalArgumentException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (IllegalAccessException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
			    }
			    
			    response.getWriter().println(student.getSid()+","+student.getSname()+","+student.getAge());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="AddStudentServlet" method="post">
<Pre>
   学号:<input type='text' name='sid' />
   学生名称:<input type='text' name='sname' />
  年龄:<input type='text' name='age' />
  <input type='submit' name='sub' value='添加' />
</Pre>
</form>
</body>
</html>

文章来源地址https://www.toymoban.com/news/detail-593814.html

到了这里,关于javaee 反射应用之一,获得对象的字段信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 利用反射获取websocket,session字段的值

    首先利用反射获取方法字段,然后取得字段的值 获取的字段值 webSocketContainer :WebSocket容器,用于管理WebSocket连接。 requestUri :请求的URI,即WebSocket的URL。 requestParameterMap :请求的参数映射,包含从URL中提取的参数。 queryString :查询字符串,即URL中的参数部分。 userPrincipal

    2024年01月17日
    浏览(45)
  • java通过反射创建反射对象三种的方法

    目录 前言: 代码部分: computer类: 1.类名.class创建反射对象: 2.对象.getclass创建反射对象: 3.Class.forName(\\\"\\\")创建反射对象: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态

    2024年02月14日
    浏览(36)
  • 面向对象的特征之一:封装

    1.面向对象这个编程思想,有三个基本特征: ① 封装 ② 继承 ③ 多态 2.什么是封装性? 生活中,快递包裹,通常需要用袋子或箱子装起来。 目的:① 包含的内部商品,不会被损坏            ② 可以包含隐私            ③ 运输更方便 所以,代码也要考虑这些因素: ①

    2024年02月05日
    浏览(44)
  • 【C#】获得所有可见窗口信息

    由于自己的瘦客户端上的Windows自带截图软件功能被阉割,所以自己写了一个,其中有窗口截图功能,涉及到获得所有可见窗口的信息。

    2024年02月06日
    浏览(40)
  • 反射 p4 反射获取类的结构信息

    关于Class的API getName:获取全类名 getSimpleName:获取简单类名 getFields:获取所有Public修饰的属性,包含本类及其父类(不仅仅是直接父类) getDeclaredFields:获取本类中的所有属性,不包括父类 getMethods:获取所有public修饰的方法,包含本类及其父类的(不仅仅是直接父类) ge

    2024年02月16日
    浏览(36)
  • 面向对象三大特性之一——継承(上篇)

    目录 前文 一.什么是継承? 1.1 継承的定义 1.2 継承的格式 1.2.1 継承的使用格式 1.2.2 継承关系和访问限定符 二,基类和派生类对象复制转换 三,継承中的作用域 四,派生类/子类中的默认成员函数 六,継承与友元  六,継承与静态成员 总结 本篇文章主要是详解面向对象三大

    2024年02月03日
    浏览(42)
  • 【Java反射】Java利用反射获取和设置对象某属性的值

    通用工具类: 测试:

    2024年02月02日
    浏览(57)
  • 【JAVASE】面向对象程序三大特性之一( 封装)

    ✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉n 🍎个人主页:再无B~U~G-CSDN博客 目标: 1.包的使用 2.static的使用 3. 代码块概念以及分类 面向对象程序三大特性:封装、继承、多态 。而类和对象阶段,主要研究的就是封装特性。何为

    2024年04月17日
    浏览(50)
  • Java 反射设置/获取对象属性值

    ✨大家好,我是【zhuzicc】~ ,一位主攻【Java】的 攻城狮!✨ 欢迎对【Java】感兴趣的大佬,关注我 😜 ———————————————— ❤️ ❤️ ❤️ 如果觉得本文还不错,点赞 + 评论 + 关注 + 收藏。有补充欢迎评论交流,我将努力创作更多更好的文章。 大佬们的支持

    2024年02月07日
    浏览(53)
  • Java:定义一个学生类(Student),属性包括:学号,姓名,性别,年龄;方法包括:获得学号,获得姓名,获得性别,获得年龄,修改学号,修改姓名,修改性别,修改年龄。定义并创建一个学生数组对象。

       定义一个学生类(Student),属性包括:学号,姓名,性别,年龄;方法包括:获得学号,获得姓名,获得性别,获得年龄,修改学号,修改姓名,修改性别,修改年龄。定义并创建一个学生数组对象,长度可自定,最后在控制台输出学生信息。 结果:  

    2024年02月11日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包