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 ...
随机推荐
- 2017-4-25/设计缓存(LFU)
1. 恒定缓存性能有哪些因素? 命中率.缓存更新策略.缓存最大数据量. 命中率:指请求缓存次数和缓存返回正确结果次数的比例.比例越高,缓存的使用率越高,用来衡量缓存机智的好坏和效率.如果数据频繁更新, ...
- 学习CSS记录:CSS文件引入到HTML中
1.直接写在标签元素中,通常称为行间样式.(优先级较高,有悖于结构与表现的分离,建议不使用) 例:<body style="background:red;"></ ...
- [日推荐] 『Streeter』极乐商店邀你一起来尬舞啊!-store.dreawer.com
你听的舞蹈有哪些?Jazz?Poppin?Hiphop?现代舞?民族舞?... 今天推荐一款小程序『Streeter』,几乎包含所有舞蹈视频,偷偷学好了,邀请你来尬舞啊 Streeter 这个Logo ...
- Android 读写文件
Android 读写文件 Android使用一个非常类似与其他平台上的基于磁盘的文件系统. 这节课讲述如何利用File APIs在Android文件系统中读写文件. File 对象非常适合于流式顺序数 ...
- Python | 多种编码文件(中文)乱码问题解决
问题线索 1 可以知道的是,文本文件的默认编码并不是utf8. 我们打开一个文本文件,并点击另存为 2 我们在新窗口的编码一栏看到默认编码是ANSI.先不管这个编码是什么编码,但是通过下拉列表我们 ...
- 关于aop的两种方式-基于注解和基于aspectj
spring的aop确实好用,能够在不影响业务功能的情况下,实现一些低耦合的功能. 而aop又有两种常用的实现方式,一种是用aspectj表达式去匹配,实现全局的配置,表达式还可以使用与或非符号去连接 ...
- java创建泛型数组
java中创建泛型数组并不是不可能,创建泛型数组通过反射,给构造函数传递两个参数,一个类型标记,一个数组大小.' 简单Demo如下: import java.lang.reflect.Array; / ...
- 多线程(七)JDK原生线程池
如同数据库连接一样,线程的创建.切换和销毁同样会耗费大量的系统资源.为了复用创建好的线程,减少频繁创建线程的次数,提高线程利用率可以引用线程池技术.使用线程池的优势有如下几点: 1.保持 ...
- ubuntu 14.04中安装phpmyadmin即mysql图形管理界面
由于学习的需要,我将网站开发环境从windows转移到了ubuntu,ubuntu下之前并没有发现什么难的地方,只要百度一般都有解决方案.但是总所周知ubuntu是一系列开源软件的集合,由于版本的问题 ...
- 后台管理UI模板
一.EasyUI easyui是一种基于jQuery的用户界面插件集合. easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能. 使用easyui你不需要写很多代码,你只需要通 ...