java ee Servlet 开发框架分享
大家好! 这里分享一下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 开发框架分享的更多相关文章
- 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旨在解决 ...
- Java EE Servlet相关的两个包
Servlet in Java EE 在Java EE的规范API中(链接),Servlet相关联的最重要的两个Package为: 1.javax.servlet 包含了一系列接口和类,他们在一个Se ...
- Java EE - Servlet 3.0 和 Spring MVC
Table of Contents 前言 基于 Java 的配置 ServletContainerInitializer 动态配置 DispatcherServlet 和 ContextLoaderL ...
- Java EE Servlet 几个path
ContextPath Context ['kɒntekst] 不识庐山真面目,只缘身在此山中. 相对路径 RealPath 绝对路径 ServletPath 就是servlet-mapping 中 ...
- Java EE - Servlet 小结
Table of Contents 前言 Servlet 的生命周期 Servlet 的初始化 ServletContext & ServletConfig 请求的处理 HttpServlet ...
- Java EE.Servlet.生成响应
Servlet的核心职责就是根据客户端的请求生成动态响应. 1.编码类型 2.流操作(下载文件) servlet支持两种格式的输入/输出流.一种是字符输入输出流.另一种是字节输入输出流. 3.重定向
- Java EE.Servlet.处理请求
Servlet的核心工作便是处理客户端提交的请求信息,生成动态响应信息返回客户端. 1.请求参数 POST方法一般用于更新服务器上的资源,当时用POST方法时,提交的数据包含在HTTP实体内,而GET ...
- Java EE.Servlet.会话管理
一次会话是从客户打开浏览器开始到关闭浏览器结束.记录会话信息的技术称为会话跟踪.常见的会话跟踪技术有Cookie.URL重写和隐藏表单域. 1.Cookie Cookie是一小块可以嵌入到HTTP请求 ...
- Java EE之Servlet
1.创建Servlet类 Servlet在Java EE API规范中的定义: Servlet是一个运行在Web服务器中的Java小程序.Servlet将会接收和响应来自Web客户端的请求,使用HTT ...
随机推荐
- 【win10】大水牛主机插入耳机没有声音
主机:大水牛,技嘉主板 操作系统:win10 问题:主机前面插入耳机,没有声音,扬声器图标出错 解决 一..插入耳机 二..Realtek高清晰音频管理器 1.打开音频管理器,点击右下角的设置 2.点 ...
- 【Ubuntu 16】DEB软件包管理
一.背景介绍 开源软件最早的时候没有软件包和软件包管理器,用户只能下载源码包自行配置 编译 安装. 后来linux各发行版本推出了软件包格式和软件包管理程序 Red Hat.Centos使用RPM格式 ...
- 基于laravel5.4 vue 和vue-element搭建的单页面后台CMS
介绍 该项目后台是基于vue和laravel搭建的单页面CMS系统,包含了文章管理,权限管理,用户管理等基本模块. 前台使用了传统web技术,laravel渲染搭建了个博客系统 github地址:ht ...
- centos下搭建多项目svn服务器
svn是多人协作开发中的利器,是一个开放源代码的版本控制系统. 相比与git,他的操作更加简单,windows下有优秀的图形界面,并且支持的文件类型比较多. 本文讲述如何在linux下搭建一个svn服 ...
- ssh环境的搭建,基于注解和配置文件使用
搭建spring.Struts2.hibernate三大框架的环境 这里分两部分来讲:一.用myeclipse 2014 快速搭建环境,非常快捷, 大部分配置文件信息系统都帮我们写好,建议老手使用 二 ...
- HttpResponseMessage获取请求响应体内容
问题描述 使用httpClient获取的HttpResponseMessage类型的response,直接对其toString()获取的是请求的响应头,并没有获取响应体的内容 解决办法 HttpRes ...
- hdu3081 Marriage Match II(二分+并查集+最大流)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3081 题意: n个女生与n个男生配对,每个女生只能配对某些男生,有些女生相互是朋友,每个女生也可以跟她 ...
- 阿里 java学习之路
https://maimai.cn/article/detail?fid=96107193&push_id=5603&share_user=http%3A%2F%2Fi9.taou.c ...
- 最近见到的JS返回函数的一些题
JS返回值题一直都是考察重点,面试和笔试之中也经常涉及到,说一说我最近遇到的一些有意思的JS返回函数问题. 之前见到过一道有意思的问题,说有一个sum函数,用户可以通过sum(2,3)来取到2+3 = ...
- 自己编写服务启动脚本(一):functions文件详细分析和说明
本文目录: 1.几个显示函数2.action函数3.is_true和is_false函数4.confirm函数5.pid检测相关函数 5.1 checkpid.__pids_var_run和__pid ...