一个简单的注册 反射(写在servlet中)

 1     public void doPost(HttpServletRequest request, HttpServletResponse response)
 2     throws ServletException, IOException {
 3
 4         try{
 5             request.setCharacterEncoding("Utf-8");
 6             response.setCharacterEncoding("utf-8");
 7             response.setContentType("text/html");
 8             PrintWriter out = response.getWriter();
 9
10             String nstr = request.getParameter("name");
11             String pstr = request.getParameter("pwd");
12
13             /*********开始反射机制***********************************************************************************/
14             //1. 根据包创建类
15             Class<?> c = Class.forName("entity.User");
16             //2. 根据类创建对象
17             User obj = (User) c.newInstance();
18             //3. 找到该对象的所有方法
19             Method[] methods = obj.getClass().getDeclaredMethods();
20
21             //4. 创建StringBuffer对象将 对象属性封装成 Jeson格式
22             StringBuffer sb = new StringBuffer();
23             sb.append("{");
24             for( Method method : methods) {
25                 if( method.getName().startsWith("get")) {
26                     Object o = method.invoke(obj);
27                     sb.append(" \" "+method.getName().replaceAll("get", "")+" \" ");
28                     sb.append(":");
29                     sb.append(" \" "+o+" \" ");
30                     sb.append(",");
31                 }
32
33             }
34             sb.deleteCharAt(sb.length()-1);
35             sb.append("}");
36
37             //5. 判断方法,进行操作为属性赋值
38             for( Method method : methods ) {
39                 if( method.getName().equals("setName")) {
40                     method.invoke(obj, nstr);
41                 }
42                 if( method.getName().equals("setPwd")) {
43                     method.invoke(obj, pstr);
44                 }
45             }
46             /*******************以上反射部分到此结束***********下边是正常的业务交互**************************************/
47             //6. 与service层进行业务
48             IUserService service = new UserServiceImpl();
49             int result = service.returnRegisterResult(obj);
50             if( result ==1 ){
51                  request.getRequestDispatcher("page/LoginSuccess.jsp").forward(request, response);
52             } else {
53                 out.println("<script>");
54                 out.println("alert(‘用户名或密码错误!‘);");
55                 out.println("location=‘" + request.getContextPath() + "/page/Register.jsp‘");
56                 out.println("</script>");
57             }
58     }catch(Exception e){
59         e.printStackTrace();
60     }
61 }
时间: 2024-08-11 09:56:39

一个简单的注册 反射(写在servlet中)的相关文章

编写一个简单登录验证需要记录日志,Servlet中的Cookie

登录验证并记录日志 之前介绍了如何使用Server.mysql.tomcat等知识点编写了一个简单的登录验证.但是现在有了一个新的需求,我想要在登录成功的时候往数据库记录一条日志,登录失败的时候也要记录一下.这个日志要记录用户名.用户的IP地址.登录的时间.还有成功或失败的状态标识. 所以现在需要增加一个表格,用于存储日志信息,如图: 因为大部分思路和之前的写登录验证差不多,只是多了个记录日志,所以我这里就不赘述实现的思路了,直接上代码. 1. 首先需要使用html编写出页面,代码示例: CSS

node.js基于express框架搭建一个简单的注册登录Web功能

这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注明一下版本,因为express因为版本的不同使用的方式也不同,我这算是目前最新的了吧 还没有装express的可以移步到这里 看看express框架的获取安装 1.简单地项目初始化 进入你的nodejs安装路径下边,如图,然后执行命令  express -e test  (这里把项目名设置为test

MyEclipse2013和SQLserver2008简单的注册/登录/修改密码servlet实现

原文:MyEclipse2013和SQLserver2008简单的注册/登录/修改密码servlet实现 源代码下载地址:http://www.zuidaima.com/share/1550463723506688.htm      1.myEclipse2013 2.tomcat7.0 3.SQLserver2008 MyEclipse2013 "UTF-8" SQLserver2008 数据库为db_user,表为user 可以导入SQL文件,执行以下.也可以自己创建一个数据库和数

第十篇 编写一个简单的注册页面

一个简单的注册页面 今天的课程学习,我们来一波综合,将前面学到的东西,做一次小练习,我们自定义一个注册页面,不需要太华丽,能表达清楚意思就可以了. <!DOCTYPE html> <html> <head lang="en"> <!--支持中文字符集--> <meta charset="UTF-8"> <!--标题--> <title>注册</title> <!--

Servlet(4):一个简单的注册页面

一,注册要求 1,一个注册页面 username (文本框) password:密码 (密码框) passwordYes :再次输入密码(密码框) hobby (多选框) sex (单选框) info (文本域) 2. servlet处理注册信息,判断两次密码是否相同 相同则跳到成功页面 不同则注册失败,重定向到注册页面 3. 成功页面 显示登陆成功的用户名,密码,爱好,性别和信息: 显示一个注销按钮 4. 如果注销后,或者没登录,不能直接进入成功页面,跳转到失败界面 二,具体操作步骤 1:在i

【设计模式】:Dao设计模式详解及一个简单的项目(AJAX+JSP+Servlet)

迫于课程结束,老师逼着让做课程设计,就简单花了一天的时间写了个使用dao设计模式的东西~ ~ ~顺带在这里讲解下dao设计模式 把写个这个东西的源代码放上来: http://download.csdn.net/detail/u010800530/8273915 先画一个图,这个图可能能够完整表达出dao设计模式的意思,但是可以在下边通过代码看出来: 一.完成登陆功能(未设计AJAX,等到完成显示列表的时候我们做AJAX): 首先,我们建立一个项目TestJSP 然后,我们写一个login.jsp

mongodb做一个简单的注册登录效果

作为一个初学者,做这个例子的时候我也是遇到了很多问题,在查看了一些大牛的解答,终于实现了这个简单的效果,下面我来分享这个源代码,以及其中我所遇到的问题 这是在nodejs环境下作的一个实例,用到了jade,express,mongodb这几个主要的模块 layout.jade文件 doctype 5html head title Mongodb example body h1 my first mongodb app hr block content index.jade文件 extends .

一个简单的注册页面的js

前端调用onblur="函数名(this)" /* * 用户名 */ function onblurusername(a){ var b=a.value; if(!b.match('[a-zA-Z]{7}')){  $("#namespan").html("用户名应为字母且位数应大于6位"); }else{  $("#namespan").html(""); } }/**  关于密码*/function o

一个简单的例子区分linux shell 正则表达式中的 *,+,?

1,linux shell 正则表达式 *和+号的区别 例子记忆: [[email protected] data]# touch test.txt[[email protected] data]# cat>>test.txt<<EOF> gooood> goood> good> god> gd> EOF * 表示重复前面字符0次或多次 [[email protected] data]# grep "go*d" test.tx