4反射
1.读取正字啊运行类的方法和属性
1.Class对象
Class c=Class.forName("co.goho.yuanyu.pojo.Student");
Class c0=Student.class;
Class c1=student.getClass();
2.
c.getConstructors();
c.getMethods();
c.getFields();
c.getDeclaredMethods();
获得名称为a,参数为int的方法
Method m=c.getMethod("a",int.class);
获得指定构造方法
Constructor ctt=c.getConstructor(int.class,String.class,float.class);
调用构造函数 创建对象
c.newInstance(4,"张三",38.9f);
javaweb项目,注册的时候,表单提交一个User信息
1.String username=request.getParameter("username");
2.String password=request.getParameter("password");
3.Map<String,String[]>map=request.getParameterMap();
Map map
====>User
request.setCharactorEncoding("UTF-8");
response.setCharactorEncoding("UTF-8");
1.步骤,创建动态web项目
2.创建RegisterServlet(urlPattern="/register")继承HttpServlet,重写doGet和doPost,所有请求交给doGet方法处理
3.修改index.jsp文件,添加一个表单。注册User(Stirng username,String password,String realname,String tel)
4.创建Userservlet处理所有的和账号密码相关的请求
/user?method=register
5.在UserServlet先读取到mehtod的值,知道用户的意图
6.使用反射在当前类中找到对应的方法处理该请求
7.提取公共类
前端servlet问题的解决方案
1.继承BaseServlet
2.servlet.service
3.不在设置单独请求映射,在请求中添加方法参数,根据方法参数,找到对应的函数处理请求
4.反射,通过函数的名称和函数的参数类型找到方法,并且invoke该方法
5.继承,当一个类继承BaseServlet之后,BaseServlet中的共有方法就直接可以被子类调用