Servlrt练习

Servlrt练习

/**
 *  用于业务层与前端的交互
 */
@WebServlet("/empServlet")
public class EmpServlet extends HttpServlet {
    EmpServiceImpl empService = new EmpServiceImpl();

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }
    /**
     * 前端有json对象,但后台没有,需要通过第三方工具实现(阿里的fastjson,谷歌提供Gson)
     * @param req
     * @param resp
     * @throws ServletException
     * @throws IOException
     */
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置返回类型及编码
        resp.setContentType("text/html;charset=utf8");
        PrintWriter out = resp.getWriter();
        ResponseResult responseResult = new ResponseResult();
        String option = req.getParameter("option");
        if (option.equals("query")) {
            queryEmpList(out, responseResult);
        } else if ("del".equals(option)) {
            String eno = req.getParameter("eno");
            delEmp(Integer.valueOf(eno), resp);
            out.close();
        }
    }

    /**
     * 查询功能
     * @param out
     * @param responseResult
     */
    public void queryEmpList(PrintWriter out,ResponseResult responseResult){
    //从业务层获取数据
   List<Emp> empList= empService.queryEmpList();
    //1.layui的数据渲染要求有固定的数据格式
    Map<String,Object> map=responseResult.success(empList);
    //将数据以json字符串的形式返回出去
       // String jsonStr = JSON.toJSONStringWithDateFormat(map,"yyyy-MM-dd");
    String jsonStr= JSON.toJSONStringWithDateFormat(map,"yyyy-MM-dd");
    //通过输出流返回给前端
   out.write(jsonStr);

    }


    /**
     * 删除员工信息
     * @param eno
     */
    public void delEmp(int eno,HttpServletResponse resp) throws IOException {
     empService.deleteEmp(eno);
     resp.sendRedirect("member-list.jsp");
    }

}

public class ResponseResult {
    private int code;
    private String msg;
    private Map<String,Object> map=new HashMap<>();
    public  ResponseResult(){
        map.put("code",0);
        map.put("msg","success");
    }
    public Map<String,Object> success(){
      map.put("count",0);
      map.put("data",null);
      return map;
    }

    public Map<String,Object> success(List<?> data){
        map.put("count",data.size());
        map.put("data",data);
        return map;
    }

    public Map<String,Object> error(int code,String msg){
       map.put("code",code);
       map.put("msg",msg);
       map.put("count",0);
       map.put("data",null);
       return map;
    }

}

/**
 *  用于业务层与前端的交互
 */
@WebServlet("/empServlet")
public class EmpServlet extends HttpServlet {
    EmpServiceImpl empService = new EmpServiceImpl();

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }
    /**
     * 前端有json对象,但后台没有,需要通过第三方工具实现(阿里的fastjson,谷歌提供Gson)
     * @param req
     * @param resp
     * @throws ServletException
     * @throws IOException
     */
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置返回类型及编码
        resp.setContentType("text/html;charset=utf8");
        PrintWriter out = resp.getWriter();
        ResponseResult responseResult = new ResponseResult();
        String option = req.getParameter("option");
        if (option.equals("query")) {
            queryEmpList(out, responseResult);
        } else if ("del".equals(option)) {
            String eno = req.getParameter("eno");
            delEmp(Integer.valueOf(eno), resp);
            out.close();
        }
    }

    /**
     * 查询功能
     * @param out
     * @param responseResult
     */
    public void queryEmpList(PrintWriter out,ResponseResult responseResult){
    //从业务层获取数据
   List<Emp> empList= empService.queryEmpList();
    //1.layui的数据渲染要求有固定的数据格式
    Map<String,Object> map=responseResult.success(empList);
    //将数据以json字符串的形式返回出去
       // String jsonStr = JSON.toJSONStringWithDateFormat(map,"yyyy-MM-dd");
    String jsonStr= JSON.toJSONStringWithDateFormat(map,"yyyy-MM-dd");
    //通过输出流返回给前端
   out.write(jsonStr);

    }


    /**
     * 删除员工信息
     * @param eno
     */
    public void delEmp(int eno,HttpServletResponse resp) throws IOException {
     empService.deleteEmp(eno);
     resp.sendRedirect("member-list.jsp");
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Servlet的生命周期包括三个阶段:初始化、服务和销毁。在初始化阶段,当用户第一次访问Servlet的地址时,会执行初始化方法【2】init(ServletConfig servletConfig),通常在这个方法中进行一些初始化数据读取的操作。在服务阶段,每次访问Servlet地址时,都会执行服务方法【1】service(ServletRequest servletRequest, ServletResponse servletResponse),用来处理请求并生成响应。在销毁阶段,当应用被卸载或服务器终止时,会执行销毁方法【1】destroy(),一般用于执行资源回收或备份操作。这三个阶段构成了Servlet的完整生命周期。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Servlet的生命周期](https://blog.csdn.net/m0_60489526/article/details/121146891)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Servlet的生命周期和三种实现方式](https://blog.csdn.net/weixin_30443731/article/details/95733264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值