package cn.itcast.travel.web.servlet;

import cn.itcast.travel.domain.ResultInfo;
import cn.itcast.travel.domain.User;
import cn.itcast.travel.service.UserService;
import cn.itcast.travel.service.impl.UserServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.beanutils.BeanUtils;

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 java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;

/**
* @author newcityman
* @date 2019/9/26 - 0:16
*/
@WebServlet("/registUserServlet")
public class RegistUserServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1、获取参数
Map<String, String[]> map = request.getParameterMap();
//2、封装对象User
User user = new User();
try {
BeanUtils.populate(user,map);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
//3、调用service方法
UserService service = new UserServiceImpl();
Boolean flag=service.regist(user);
ResultInfo info = new ResultInfo();
//4、响应数据
if (flag){
//注册成功
info.setFlag(true);
}else{
//注册失败
info.setFlag(false);
info.setErrorMsg("注册失败");
}

//将info对象序列化为json数据,写回客户端
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(info);
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(json);
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}

最新文章

  1. 利用powerDesigner16.5连接oracle数据库并自动生成表结构图
  2. C#_基础:委托速讲
  3. LINUX磁盘分区、格式化、挂载、卸载全程详解
  4. Linux 安装图形界面及远程连接
  5. 转:union 联合体(共用体)
  6. Razor语法学习
  7. python和django的一些小技巧(locals()...)
  8. Leetcode 104 Maximum Depth of Binary Tree python
  9. DWZ在APS.NET WebForm中的使用(一)
  10. module_init解析及内核initcall的初始化顺序
  11. Power Designer如何批量改动数据类型
  12. 正则表达式的方法:replace,match,test(replace参数可以是回调函数)
  13. Typecho博客迁移
  14. Linux下USB suspend/resume源码分析【转】
  15. D3 API总览
  16. python之旅:函数对象、函数嵌套、名称空间与作用域、装饰器
  17. cocos2d-x分别在Visual Studio和eclipse中设置启用Box2D
  18. 关于 -webkit-line-clamp 详解
  19. 用JSP输出Hello World
  20. g++: command not found的解决

热门文章

  1. Mybatis:插入数据返回自增主键
  2. Sqlserver中判断表是否存在
  3. jsonpath解析淘票票,所有购票的城市
  4. Type mismatch:
  5. jvm的垃圾回收
  6. 解决:ElasticsearchException[X-Pack is not supported and Machine Learning is not available for
  7. Hi3516开发笔记(四):Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表
  8. 洛谷 P2257 - YY的GCD(莫比乌斯反演+整除分块)
  9. 认识Influxdb时序数据库及Influxdb基础命令操作
  10. BSA分析