项目实战(一)

文件转换传输工具类

用于将数据转换为json格式,再响应给浏览器

import com.alibaba.fastjson.JSON;

import javax.servlet.http.HttpServletResponse;

public class JsonUtil {
    public static void transJason(Object obj, HttpServletResponse resp){
        try {
            String json_string = JSON.toJSONString(obj);
            resp.setContentType("application/json;charset=utf-8");

            resp.getWriter().write(json_string);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

在本项目中用于传输对象的数据。

doGet方法

HttpServlet的子类中的doGet方法通常用于处理HTTP GET请求。当客户端发送一个GET请求到服务器时,服务器会调用doGet方法来处理该请求。

在默认情况下,doGet方法会接收两个参数:HttpServletRequest对象和HttpServletResponse对象。HttpServletRequest对象包含了客户端请求的信息,如请求的URL、参数、头部等。HttpServletResponse对象用于向客户端返回响应数据。代码如下:

@WebServlet("/playerC")
public class PlayerC extends HttpServlet {
    private IPlayerService playerService=new PlayerServiceImpl();
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String action = req.getParameter("action");
        HttpSession session = req.getSession();//获得session容器,跟踪某一个客户端的信息

        if ("register".equals(action)){//注册功能
            //接收用户名和密码两个参数
            String username = req.getParameter("username");
            String password = req.getParameter("password");
            boolean isR=playerService.register(username,password);
            //响应结果对象R
            Result rs = new Result();
            rs.setR(isR);
            rs.setMsg(isR?"注册成功!":"注册失败!");
            JsonUtil.transJason(rs,resp);

        }else if("login".equals(action)){//登录功能
            //接收用户名和密码两个参数
            String username = req.getParameter("username");
            String password = req.getParameter("password");
            Player login_player =playerService.login(username,password);
            if (login_player!=null){//登陆成功
                session.setAttribute("login_player",login_player);//session中是否有login_player作为登录的依据
            }
            JsonUtil.transJason(login_player,resp);

        }else if("getByName".equals(action)){//判断昵称是否已经存在
            String username = req.getParameter("username");
            Player player = playerService.getByName(username);
            JsonUtil.transJason(player,resp);

        }else if ("getLoginPlayerFromSession".equals(action)){//获取信息功能
            Player login_player = (Player) session.getAttribute("login_player");
            JsonUtil.transJason(login_player,resp);

        }
    }
}

其中@WebServlet(“/playerC”)是一个在Servlet类上使用的注解,它指定了该Servlet的URL映射路径。具体来说,"/playerC"是该Servlet的URL模式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值