1. 编码格式转换
static public void processEncoding(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/json;charset=utf-8");
}
2.跨域访问
public static void cors(HttpServletResponse response) {
/* 允许跨域的主机地址,前端项目的地址 */
response.setHeader("Access-Control-Allow-Origin", "http://192.168.6.199:8080");
// response.setHeader("Access-Control-Allow-Origin", "http://localhost:8080");
/* 允许跨域的请求方法GET, POST, HEAD 等 */
response.setHeader("Access-Control-Allow-Methods", "*");
/* 重新预检验跨域的缓存时间 (s) */
response.setHeader("Access-Control-Max-Age", "4200");
/* 允许跨域的请求头 */
response.setHeader("Access-Control-Allow-Headers", "*");
/* 是否携带cookie */
response.setHeader("Access-Control-Allow-Credentials", "true");
}
3.Servlet发送数据到前端页面
public static void dataChange(HttpServletResponse response, ReturnBean returnBean) throws IOException {
String s = JSON.toJSONString(returnBean);
System.out.println("**************");
System.out.println(s);
PrintWriter out = response.getWriter();
out.write(s);
}
4. Map集合转化为实体类/json对象转化为实体类对象
public static <T> T mapToEntity(Map<String, String[]> stringMap, Class<T> obj) throws InstantiationException, IllegalAccessException {
T entityObj = null;
if (stringMap != null) {
//获取传入的对象中的所有属性
Field[] declaredFields = obj.getDeclaredFields();
//对象实例化
entityObj = obj.newInstance();
for (Field declaredField : declaredFields) {
//获取属性的名称
String name = declaredField.getName();
//查找map里面是否有这个属性
String[] strings = stringMap.get(name);
if (strings != null && strings.length > 0) {
//暴力破解
declaredField.setAccessible(true);
String s = strings[0];
//判断是否需要拼接
if (strings.length == 1) {
//判断成员属性的类型
if (Integer.class.getName().equals(declaredField.getType().getName())) {
Integer value = s != null && !"".equals(s) ? Integer.valueOf(s) : null;
//赋值
declaredField.set(entityObj, value);
} else if (String.class.getName().equals(declaredField.getType().getName())) {
declaredField.set(entityObj, s);
} else if (Double.class.getName().equals(declaredField.getType().getName())) {
Double value = s != null && !"".equals(s) ? Double.valueOf(s) : null;
declaredField.set(entityObj, value);
} else if (Float.class.getName().equals(declaredField.getType().getName())) {
Float value = s != null && !"".equals(s) ? Float.valueOf(s) : null;
declaredField.set(entityObj, value);
}
} else if (strings.length > 1) {
String value = "";
for (int i = 0; i < strings.length; i++) {
if (i == 0) {
value = strings[0];
} else {
value = value + "," + strings[i];
}
}
declaredField.set(entityObj, value);
}
}
}
}
return entityObj;
}