package com.hellogithub.servlet.article; import com.alibaba.fastjson.JSONObject; import com.hellogithub.service.UserService; import com.hellogithub.service.articleService; 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 javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; @WebServlet("/articlepublish") public class ArticlePublish extends HttpServlet { protected articleService articleservice = new articleService(); private UserService userservice = new UserService(); @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setCharacterEncoding("UTF-8"); // 设置响应头允许ajax跨域访问 String curOrigin = req.getHeader("Origin"); resp.setHeader("Access-Control-Allow-Origin", curOrigin == null ? "true" : curOrigin); resp.setHeader("Access-Control-Allow-Credentials", "true"); resp.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, HEAD"); resp.setHeader("Access-Control-Max-Age", "3600"); resp.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With"); resp.setContentType("application/json;charset=UTF-8"); PrintWriter writer = resp.getWriter(); HttpSession session = req.getSession(); if(session == null){ setResultError("用户未登录", writer); writer.close(); }else{ String username = req.getParameter("username"); String articlecontent = req.getParameter("articleContent"); String articletitle = req.getParameter("articleTitle"); String articleico = req.getParameter("articleIco"); int userid = userservice.selectIdByName(username); int bool = articleservice.insertArticle( userid,articlecontent,articletitle,articleico ); if(bool == 1){ setResultOk("发布成功",writer); writer.close(); }else{ setResultError("发布失败", writer); } } } public void setResult(Integer code, String msg, PrintWriter writer) { HashMap result = new HashMap<>(); result.put("code", code); result.put("msg", msg); String jsonString = JSONObject.toJSONString(result); writer.println(jsonString); writer.close(); } public void setResultError(String msg, PrintWriter writer) { setResult(500, msg, writer); } public void setResultOk(String msg, PrintWriter writer) {setResult(200, msg, writer);} }