大家好! 这里分享一下javaEE Servlet开发框架!

1、首先是POST和GET入口以及接收处理文件

package com.sl.imps;

import java.io.IOException;
import java.io.PrintWriter;

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 com.sl.dao.CountyDao;
import com.sl.func.Message;
import com.sl.func.Receive;

/**
 * Servlet implementation class County
 */
@WebServlet("/Post")
public class Post extends HttpServlet {

    private static final long serialVersionUID = 1L;

    // post传输数据的接收入口
    public void service(HttpServletRequest req, HttpServletResponse res) throws IOException {
        req.setCharacterEncoding("UTF-8");
        res.setContentType("text/json");
        res.setCharacterEncoding("UTF-8");

        // 实例化输出obj
        PrintWriter out = res.getWriter();

        String json = null;// 返回

        // String cmd = Receive.getjson(req, "cmd");
        String cmd = Receive.getJsonByPost(req);

        // 获取列表
        if ("getlist".equals(cmd)) {
            CountyDao countyDao = new CountyDao();
            try {
                json = Message.back(0, "执行成功", countyDao.getStu());
            } catch (Exception e) {
                json = Message.back(1, "执行失败" + e.getMessage());
            }
        }

        json = json == null ? "JSON参数错误" : json;

        out.print(json);

        out.close();
        out.flush();
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
        request.getParameter("");
    }
}

GET:

package com.sl.imps;

import java.io.IOException;
import java.io.PrintWriter;

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 com.sl.dao.CountyDao;
import com.sl.func.Message;
import com.sl.func.Receive;

/**
 * Servlet implementation class GETIN
 */
@WebServlet("/Get")
public class Get extends HttpServlet {

    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public Get() {
        super();
    }

    // post传输数据的接收入口
    public void service(HttpServletRequest req, HttpServletResponse res) throws IOException {
        req.setCharacterEncoding("UTF-8");
        res.setContentType("text/json");
        res.setCharacterEncoding("UTF-8");

        // 实例化输出obj
        PrintWriter out = res.getWriter();

        String json = null;// 返回

        String cmd = Receive.getJsonByGet(req, "cmd");

        // 获取列表
        if ("getlist".equals(cmd)) {
            CountyDao countyDao = new CountyDao();
            try {
                json = Message.back(0, "执行成功", countyDao.getStu());
            } catch (Exception e) {
                json = Message.back(1, "执行失败" + e.getMessage());
            }
        }

        json = json == null ? "JSON参数错误" : json;

        out.print(json);
        out.close();
        out.flush();
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }
}

2、Receive类(接收传递的JSON)数据

/*
 * Project Name:Solution-java-master
 * File Name:Receive.java
 * Package Name:com.sl.func
 * Date:2017年3月24日下午2:55:12
 * Copyright (c) 2017, chinhiyoshi@163.com 陈飞  Rights Reserved.
 *
 */
package com.sl.func;

import java.io.BufferedReader;
import java.io.IOException;

import javax.servlet.http.HttpServletRequest;

import com.google.gson.Gson;
import com.sl.model.Receivem;

/*
     * ClassName:Receive
     * Function:   ADD FUNCTION.
     * Reason:     ADD REASON.
     * Date:     2017年3月24日 下午2:55:12
     * @author   guosen
     * @version
     * @since    JDK 1.6
     */
public class Receive {

    // 获取接收POST的json数据
    public static String postjson(HttpServletRequest req) throws IOException {

        BufferedReader reader = req.getReader();

        String recvjson = null;

        StringBuilder sb = new StringBuilder();

        while ((recvjson = reader.readLine()) != null)
            sb.append(recvjson);

        return sb.toString();
    }

    // 获取接收GET的传输参数值
    public static String getJsonByPost(HttpServletRequest req) throws IOException {

        BufferedReader reader = req.getReader();

        String recvjson = null;

        StringBuilder sb = new StringBuilder();

        while ((recvjson = reader.readLine()) != null)
            sb.append(recvjson);

        Receivem m = new Gson().fromJson(sb.toString(), Receivem.class);

        return m.cmd;
    }

    // 获取接收GET的传输参数值
    public static String getJsonByGet(HttpServletRequest req, String key) throws IOException {
        return req.getParameter(key);
    }
}

3、DAO处理

/*
 * Project Name:Solution
 * File Name:CountyDao.java
 * Package Name:com.sl.dao
 * Date:2016年8月25日下午5:38:41
 * Copyright (c) 2016, chinhiyoshi@163.com 陈飞  Rights Reserved.
 *
 */
package com.sl.dao;

import java.util.List;
import java.util.Map;
import com.sl.db.DBHelper;

/*
 * ClassName:CountyDao
 * Function:   ADD FUNCTION.
 * Reason:     ADD REASON.
 * Date:     2016年8月25日 下午5:38:41
 * @author   chinhiyoshi
 * @version  V1.0
 * @info
 */
public class CountyDao {
    // 查询国家数据
    public List<Map<String, Object>> getStu() {
        String sql = "SELECT * FROM  StudentXK ";
        return DBHelper.query(sql);
    }
}

4、返回处理

/*
 * Project Name:Solution-java-master
 * File Name:Message.java
 * Package Name:com.fun
 * Date:2017年3月24日下午2:03:27
 * Copyright (c) 2017, chinhiyoshi@163.com 陈飞  Rights Reserved.
 *
 */
package com.sl.func;

import java.util.List;
import java.util.Map;
import com.sl.model.JsonBack;

/*
 * ClassName:Message
 * Function:   ADD FUNCTION.
 * Reason:     ADD REASON.
 * Date:     2017年3月24日 下午2:03:27
 * @author   guosen
 * @version
 * @since    JDK 1.6
 */

//再次封装消息返回格式
public class Message {
    // 成功
    public static String back(int code, String msg, List<Map<String, Object>> data) {
        return new JsonBack().BackJson(code, msg, data);
    }
    // 失败
    public static String back(int code, String msg) {
        return new JsonBack().BackJson(code, msg, null);
    }
}

这里上一张项目架构图:

接下来用姑姑postman测试一下:

返回的JSON的如下:

{
  "code": 0,
  "msg": "执行成功",
  "data": {
    "result": [
      {
        "ShangBaoRiQi": "Aug 6, 2017 12:00:00 AM",
        "Status": "1",
        "BeiZhu": 1,
        "CreatTime": "Aug 8, 2017 12:00:00 AM",
        "BanGongShiDianHua": 1,
        "WangDianDaiMa": 1,
        "XingMing": "name",
        "KaoShiChengJi": 1,
        "Name": "zhagsan",
        "KaoShiTongGuoRiQi": 1,
        "ID": "12545",
        "IDHaoMa": "1",
        "NiRenGangWei": "1",
        "XianRenGangWei": "1",
        "ShouJiHaoMa": 1
      }
    ]
  }
}

觉得好用的就点击下载:             https://files.cnblogs.com/files/IBPM/javaee-solution.zip

java ee Servlet 开发框架分享的更多相关文章

  1. Ed Burns谈HTTP/2和Java EE Servlet 4规范

    在2015年JavaLand大会上,Ed Burns展示了Java EE Servlet 4.0规范(JSR 369)的概要,演讲的重点在于Java EE平台对HTTP/2的支持.HTTP/2旨在解决 ...

  2. Java EE Servlet相关的两个包

    Servlet in Java EE 在Java EE的规范API中(链接),Servlet相关联的最重要的两个Package为: 1.javax.servlet 包含了一系列接口和类,他们在一个Se ...

  3. Java EE - Servlet 3.0 和 Spring MVC

    Table of Contents 前言 基于 Java 的配置 ServletContainerInitializer 动态配置 DispatcherServlet 和 ContextLoaderL ...

  4. Java EE Servlet 几个path

    ContextPath Context ['kɒntekst] 不识庐山真面目,只缘身在此山中. 相对路径 RealPath 绝对路径 ServletPath 就是servlet-mapping 中 ...

  5. Java EE - Servlet 小结

    Table of Contents 前言 Servlet 的生命周期 Servlet 的初始化 ServletContext & ServletConfig 请求的处理 HttpServlet ...

  6. Java EE.Servlet.生成响应

    Servlet的核心职责就是根据客户端的请求生成动态响应. 1.编码类型 2.流操作(下载文件) servlet支持两种格式的输入/输出流.一种是字符输入输出流.另一种是字节输入输出流. 3.重定向

  7. Java EE.Servlet.处理请求

    Servlet的核心工作便是处理客户端提交的请求信息,生成动态响应信息返回客户端. 1.请求参数 POST方法一般用于更新服务器上的资源,当时用POST方法时,提交的数据包含在HTTP实体内,而GET ...

  8. Java EE.Servlet.会话管理

    一次会话是从客户打开浏览器开始到关闭浏览器结束.记录会话信息的技术称为会话跟踪.常见的会话跟踪技术有Cookie.URL重写和隐藏表单域. 1.Cookie Cookie是一小块可以嵌入到HTTP请求 ...

  9. Java EE之Servlet

    1.创建Servlet类 Servlet在Java EE API规范中的定义: Servlet是一个运行在Web服务器中的Java小程序.Servlet将会接收和响应来自Web客户端的请求,使用HTT ...

随机推荐

  1. Spring事务管理——其他的事务属性

    之前我们说过Spring事务管理中的事务的传播行为的属性.下面我们来说一下它的其他属性. 一.事务的隔离级别 1 .数据库事务并发问题.假设现在有两个事务:Transaction01和Transact ...

  2. Java温故而知新-冒泡法排序

    冒泡法排序是各种初学者在学习数组与循环结构时都会练习的一种简单排序算法. 冒泡法的精髓在于比较相邻的两个元素,较大的元素会不断的排到队伍后面去,就像水里的泡泡一样不断向上跑. 想像一下倒在一个透明玻璃 ...

  3. 迈向angularjs2系列(5):依赖注入

    一: 为什么要依赖注入 1.构造器引入依赖 假设一个类Car类依赖于Engine(引擎)类.Transition(变速箱)类,可使用构造器来完成. //类似如下代码 class Engine{} cl ...

  4. 如何在环境变量里配置tomcat

    安装好后,配置环境变量:计算机--右击--属性--高级系统设置设置--环境变量 4 新建系统变量 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0(这个 ...

  5. python爬虫之一---------豆瓣妹子图

    #-*- coding:utf-8 -*- __author__ = "carry" import urllib import urllib2 from bs4 import Be ...

  6. 帆软的报表系统与泛微OA结合起来,这两个软件麦枫提供了经典的服务。

    一.集成配景泛微OA对企业的代价 泛微协同办公计划能向你供给一个协同的.集成的办公情况,使所有的办公职员都在统一且个性化的信息流派中一路事情, 解脱光阴和地区的限定,实现协同事情与知识治理. Eoco ...

  7. 对于c语言存储分配程序(malloc函数)实现的理解

    内容主要出自<The C Programming Language>一书,不得不说这是一本程序员必读的书,我大二读了前面几章就扔到一边了,直到最近才又拿起来再读,找不到言语来形容我现在后悔 ...

  8. Day-11: IO编程

    由于CUP的运行速度远高于其他外设,IO操作有两种方式: 同步IO:CUP登着,程序暂停直到执行完后续代码 异步IO:CUP不等待,去做其他的事情,磁盘做完该做的事情后,告诉CUP,CUP再进行后续代 ...

  9. NHibernate教程(12)--延迟加载

    本节内容 引入 延迟加载 实例分析 1.一对多关系实例 2.多对多关系实例 结语 引入 通过前面文章的分析,我们知道了如何使用NHibernate,比如CRUD操作.事务.一对多.多对多映射等问题,这 ...

  10. Word直接发布新浪博客(以Wo…

    原文地址:Word直接发布新浪博客(以Word 2013为例)作者:paulke2011 注意:这篇博客直接由Word 2013发出!这虽然也算是一个教程,但更多的是一个试验品. 老早就知道Word有 ...