BlogServlet.java
上传用户:cdpainuo
上传日期:2022-07-12
资源大小:5257k
文件大小:8k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. package com.appspot.cindyblog.servlet;
  2. import java.io.IOException;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import javax.persistence.EntityManager;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9. import com.appspot.cindyblog.common.EMF;
  10. import com.appspot.cindyblog.common.User;
  11. import com.appspot.cindyblog.pojo.ArticleBean;
  12. import com.appspot.cindyblog.pojo.DiscussBean;
  13. import com.appspot.cindyblog.pojo.LinkBean;
  14. import com.appspot.cindyblog.pojo.MessageBean;
  15. import com.appspot.cindyblog.pojo.TypeBean;
  16. import com.appspot.cindyblog.util.Counter;
  17. public class BlogServlet extends BaseServlet {
  18. private static final long serialVersionUID = 5709330878821727568L;
  19. public void doGet(HttpServletRequest request, HttpServletResponse response)
  20. throws ServletException, IOException {
  21. String m = request.getParameter("m");
  22. if("getIndex".equals(m)){
  23. this.getIndex(request, response);
  24. }else if("getSingleArticle".equals(m)){
  25. getSingleArticle(request, response);
  26. }else if("getMessageList".equals(m)){
  27. getMessageList(request, response);
  28. }else if("getArticleList".equals(m)){
  29. getArticleList(request, response);
  30. }else if("getArticle".equals(m)){
  31. getArticle(request, response);
  32. }else if("getDiscussList".equals(m)){
  33. getDiscussList(request, response);
  34. }else if("login".equals(m)){
  35. login(request, response);
  36. }
  37. }
  38. public void getIndex(HttpServletRequest request, HttpServletResponse response)
  39. throws ServletException, IOException {
  40. response.setContentType("text/html;charset=utf-8");
  41. EntityManager em = null;
  42. try{
  43. bs = getBlogService();
  44. em = EMF.get().createEntityManager();
  45. String rz = bs.getObjectList(ArticleBean.class, em, "time", 0, 5);
  46. String ly = bs.getObjectList(MessageBean.class, em, "time", 0, 5);
  47. String fl = bs.getType(em);
  48. String pl = bs.getObjectList(DiscussBean.class, em, "time", 0, 5);
  49. String link = bs.getObjectList(LinkBean.class, em);
  50. String str = "var elements = {nodes:{ly:"+ly+",fl:"+fl+",rz:"+rz+",pl:"+pl+",link:"+link+"}}";
  51. response.getWriter().print(str);
  52. }catch(Exception e){
  53. e.printStackTrace();
  54. }finally{
  55. bs = null;
  56. closeEntityManager(em);
  57. }
  58. }
  59. public void getSingleArticle(HttpServletRequest request, HttpServletResponse response)
  60. throws ServletException, IOException {
  61. String id = request.getParameter("nowPage");
  62. int articleId = -1;
  63. response.setContentType("text/html;charset=utf-8");
  64. EntityManager em = null;
  65. try {
  66. if(id != null && !"".equals(id)){
  67. articleId = Integer.parseInt(id);
  68. bs = getBlogService();
  69. em = EMF.get().createEntityManager();
  70. String str = bs.getObjectById(ArticleBean.class,new Long(articleId), em);
  71. String html = "var elements = {nodes:{rz_single:["+str+"]}}";
  72. response.getWriter().print(html);
  73. }else{
  74. response.getWriter().print("false");
  75. }
  76. } catch (Exception e) {
  77. e.printStackTrace();
  78. }finally{
  79. bs = null;
  80. closeEntityManager(em);
  81. }
  82. }
  83. public void getMessageList(HttpServletRequest request, HttpServletResponse response)
  84. throws ServletException, IOException {
  85. String page = request.getParameter("nowPage");
  86. int nowPage = 0;
  87. EntityManager em = null;
  88. response.setContentType("text/html;charset=utf-8");
  89. try {
  90. if(page != null || !"".equals(page)){
  91. nowPage = Integer.parseInt(page);
  92. }
  93. bs = getBlogService();
  94. em = EMF.get().createEntityManager();
  95. String str = bs.getObjectList(MessageBean.class, em, "time", nowPage*20, 20);
  96. String html = "var elements = {page:{nowPage:"+(nowPage+1)+",allPage:"+((Counter.getMessageCount()-1)/10+1)+"},nodes:{ly_list:"+str+"}}";
  97. response.getWriter().print(html);
  98. } catch (NumberFormatException e) {
  99. // TODO Auto-generated catch block
  100. e.printStackTrace();
  101. }finally{
  102. bs = null;
  103. closeEntityManager(em);
  104. }
  105. }
  106. public void getArticleList(HttpServletRequest request, HttpServletResponse response)
  107. throws ServletException, IOException {
  108. String page = request.getParameter("nowPage");
  109. String type = request.getParameter("type");
  110. response.setContentType("text/html;charset=utf-8");
  111. EntityManager em = null;
  112. int nowPage = 0;
  113. try {
  114. if(page != null || !"".equals(page)){
  115. nowPage = Integer.parseInt(page);
  116. }
  117. em = EMF.get().createEntityManager();
  118. int allCount = Counter.getArticleCount(type);
  119. Map<String,String> map = new HashMap<String,String>();
  120. if(!"All".equals(type)){
  121. map.put("type", type);
  122. }
  123. bs = getBlogService();
  124. String str = bs.getObjectList(ArticleBean.class, em, "time", map, nowPage*20, 20);
  125. String html = "var elements = {page:{nowPage:"+(nowPage+1)+",allPage:"+((allCount-1)/20+1)+"},nodes:{rz_list:"+str+"}}";
  126. response.getWriter().print(html);
  127. } catch (NumberFormatException e) {
  128. // TODO Auto-generated catch block
  129. e.printStackTrace();
  130. }finally{
  131. bs = null;
  132. closeEntityManager(em);
  133. }
  134. }
  135. public void getDiscussList(HttpServletRequest request, HttpServletResponse response)
  136. throws ServletException, IOException {
  137. String page = request.getParameter("nowPage");
  138. String type = request.getParameter("type");
  139. int nowPage = 0;
  140. int allPage = 0;
  141. int article_id = -1;
  142. EntityManager em = EMF.get().createEntityManager();
  143. bs = getBlogService();
  144. try {
  145. Map<String,String> map = new HashMap<String,String>();
  146. if(page != null || !"".equals(page)){
  147. nowPage = Integer.parseInt(page);
  148. }
  149. if(type != null && !"".equals(type) && !"All".equals(type)){
  150. article_id = Integer.parseInt(type);
  151. allPage = counter.getSingleDisscussCount(article_id);
  152. map.put("article_id", article_id+"");
  153. }else if("All".equals("type")){
  154. allPage = counter.getDisscussCount();
  155. }
  156. String str = bs.getObjectList(DiscussBean.class, em, "time", map, nowPage*20, 20);
  157. String html = "var elements = {page:{nowPage:"+(nowPage+1)+",allPage:"+((allPage-1)/10+1)+"},nodes:{pl_list:"+str+"}}";
  158. response.setContentType("text/html;charset=utf-8");
  159. response.getWriter().print(html);
  160. } catch (NumberFormatException e) {
  161. // TODO Auto-generated catch block
  162. e.printStackTrace();
  163. }finally{
  164. bs = null;
  165. closeEntityManager(em);
  166. }
  167. }
  168. public void getArticle(HttpServletRequest request, HttpServletResponse response)
  169. throws ServletException, IOException {
  170. bs = getBlogService();
  171. EntityManager em = EMF.get().createEntityManager();
  172. try {
  173. String rz = bs.getObjectList(ArticleBean.class, em, "time", 0, 5);
  174. String html = "var elements = {nodes:{rz:"+rz+"}}";
  175. response.setContentType("text/html;charset=utf-8");
  176. response.getWriter().print(html);
  177. } catch (RuntimeException e) {
  178. // TODO Auto-generated catch block
  179. e.printStackTrace();
  180. }finally{
  181. bs = null;
  182. closeEntityManager(em);
  183. }
  184. }
  185. public void login(HttpServletRequest request, HttpServletResponse response)
  186. throws ServletException, IOException {
  187. String username = request.getParameter("username");
  188. String password = request.getParameter("pwd");
  189. User user = User.getUser();
  190. response.setContentType("text/html;charset=utf-8");
  191. String html = "";
  192. if(user.getUsername().equals(username) && user.getPassword().equals(password)){
  193. request.getSession().setAttribute("username", username);
  194. html = "<script>alert('登录成功!');parent.window.location='/admins/admin.jsp'</script>";
  195. }else{
  196. html = "<script>alert('登录失败!');</script>";
  197. }
  198. response.getWriter().print(html);
  199. }
  200. }