首页 > 其他分享 >UserServlet页面抽取、分类数据展示功能_分析

UserServlet页面抽取、分类数据展示功能_分析

时间:2022-08-28 19:44:13浏览次数:62  
标签:info 抽取 UserServlet resp json user new import 页面

UserServlet页面抽取

 

 

package cn.itcast.travel.web.servlet;

import cn.itcast.travel.domain.ResultInfo;
import cn.itcast.travel.domain.User;
import cn.itcast.travel.service.UserServlce;
import cn.itcast.travel.service.impl.UserServlceImpl;
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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;

@WebServlet("/user/*")
public class UserServlet extends BaseServlet{
// 声明一个业务对象
private UserServlce servlce = new UserServlceImpl();
/**
* 注册功能
*/
public void regist(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, InvocationTargetException, IllegalAccessException {
// 验证码校验
String check = request.getParameter("check");
// 从sesion中获取验证吗
HttpSession session = request.getSession();
String server = (String) session.getAttribute("CHECKCODE_SERVER");
session.removeAttribute("CHECKCODE_SERVER");//为了验证码只能使用一次
// 比较
if (server==null||!server.equalsIgnoreCase(check)){
// 验证码错误
ResultInfo info = new ResultInfo();
//注册失败
info.setFlag(false);
info.setErrorMsg("验证码错误");
//将info对象序列化为json
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(info);
//将json数据写回客户端
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(json);
return;
}

//获取数据
Map<String, String[]> map = request.getParameterMap();
//封装对象
User user = new User();
BeanUtils.populate(user,map);
// 调用service完成注册
// UserServlceImpl userService = new UserServlceImpl();
boolean flag = servlce.regist(user);
ResultInfo info = new ResultInfo();
//响应结果
if (flag) {
//注册成功
info.setFlag(true);

} else {
//注册失败
info.setFlag(false);
info.setErrorMsg("注册失败");
}

//将info对象序列化为json
ObjectMapper mapper = new ObjectMapper();

String json = mapper.writeValueAsString(info);

//将json数据写回客户端
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(json);
}
/**
* 登录功能
*/
public void login(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 获取用户名称和密码
Map<String, String[]> map = req.getParameterMap();
// 封装User对象
User user = new User();
try {
BeanUtils.populate(user,map);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
} catch (InvocationTargetException e) {
throw new RuntimeException(e);
}
// 调用Service查询
// UserServlce servlce = new UserServlceImpl();
User u= servlce.login(user);
ResultInfo info = new ResultInfo();
// 判断用户对象是后为null
if (u==null){
System.out.println("密码错误");
// 用户名和密码错误
info.setFlag(false);
info.setErrorMsg("用户密码错误");
}
// 判断用户是否激活
if (u!=null&&!"Y".equals(u.getStatus())){
// 用户尚未激活
info.setFlag(false);
info.setErrorMsg("您尚未激活,请激活..");
}
// 判断登录成功
if(u!=null&&"Y".equals(u.getStatus())){
req.getSession().setAttribute("user",u);
info.setFlag(true);
}
// 响应数据
ObjectMapper mapper = new ObjectMapper();

resp.setContentType("application/json;charset=utf-8");
mapper.writeValue(resp.getOutputStream(),info);

}
/**
*查单个对象
*/
public void findOne(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 从session中获取登录用户
Object user = req.getSession().getAttribute("user");
// 将user写回客户端
ObjectMapper mapper = new ObjectMapper();
resp.setContentType("application/json;charset=utf-8");
mapper.writeValue(resp.getOutputStream(),user);
}
/**
*退出
*/
public void exit(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 销毁session
req.getSession().invalidate();
// 跳转页面
resp.sendRedirect(req.getContextPath()+"login.html");
}
/**
*激活功能
*/
public void activea(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 获取激活码
String code = req.getParameter("code");
if (code!=null){
// 调用servlet完成激活
// UserServlce servlce = new UserServlceImpl();
boolean b = servlce.active(code);

// 判断标记
String msg = null;
if (b){
msg="激活成功,请<a href='login.html'>登录</a>";
}else{
msg="激活失败,请联系管理员";
}
resp.setContentType("text/html;charset=utf-8");
resp.getWriter().write(msg);
}
}
}

分类数据展示功能_分析

  图解:

  

 

标签:info,抽取,UserServlet,resp,json,user,new,import,页面
From: https://www.cnblogs.com/ssr1/p/16633467.html

相关文章

  • 低代码平台amis学习 二:写一个页面
    上一节完成了amis的部署,这次来写一个简单页面 如果看过amis入门文档的话,应该知道amis是通过json文件来生成前端页面的,在实际编写json文件的过程中,并不需要自己逐行书写j......
  • 多路由复用页面组件问题
    本文围绕VueRouter中路由组件复用问题展开场景复现项目中经常会遇到增改查的需求,通常采用不同的路由指向同一个页面组件,以此到达复用页面的功能,但是复用页面存在一......
  • Chapter2 登录和注册_页面之间的数据传递_云储存
    Chapter21.登录和注册(手机验证)1.1我的页面app.jsApp({​ /** *当小程序初始化完成时,会触发onLaunch(全局只触发一次) */ onLaunch:function(){......
  • RabbitMQ web管理页面正常访问,但是使用程序连接被拒绝
    软件版本Windowsserver2012R2 RabbitMQ版本3.6.14erlang版本20.3问题描述按照安装教程安装后,web管理页面可以正常访问,也可以设置新用户及其权限,端口监听显示正常。......
  • BaseServlet抽取
    BaseServlet抽取优化Servelet,减少Servlet数量,现在是一个功能一个Servlet,将其优化为一个模块一个Servlet相当于在数据库中一张表对应一个Servlet,现在Servlet中提供不同......
  • 【快应用】如何实现快应用页面退出时弹框确认
    ​【现象描述】很多产品在设计时,希望按返回键退出的时候弹出一个对话框来确认是否退出,从而留住用户。快应用提供了这样的功能,和原生App一样,都是在页面的回调函数中处理的......
  • Vue刷新页面VueX中数据清空了,怎么重新获取?
    Vue刷新页面VueX数据清空了,怎么重新获取?点击打开视频讲解更详细在vue中刷新页面后,vuex中的数据就没有了,这时我们要想使用就要重新获取数据了,怎么在刷新后重新获取数据呢......
  • 搜索页面效果
    需求分析:1.默认显示搜索历史记录,搜索记录倒序排列且去除重复值。2.点击搜索后,显示搜索列表,历史记录隐藏。3.搜索值变化时,列表隐藏。搜索值为空时,历史记录显示。4.点击......
  • EasyPlayer.js集成时页面报错出现“X”,该如何解决?
    在上几期的文章中,我们介绍了关于EasyPlayer流媒体播放器最近更新的一些功能和细节优化,包括网页实时录像、ios端低延迟直播,以及如何删除或替换播放器loading样式等,感兴趣的......
  • EasyCVR修改设备通道信息保存图片时,页面一直加载如何优化?
    EasyCVR平台是我们支持协议最全面的视频平台,它能支持主流协议包括国标GB/T28181、RTMP、RTSP/Onvif协议,以及厂家的私有协议,如海康Ehome、海康SDK、大华SDK等。平台可拓展性......