Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package be.vives.prog3.web;
- import be.vives.prog3.control.BlogJpaController;
- import be.vives.prog3.control.exceptions.NonexistentEntityException;
- import be.vives.prog3.model.Blog;
- import com.google.gson.Gson;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.List;
- import javax.persistence.EntityManagerFactory;
- import javax.servlet.ServletContext;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- *
- * @author Jean-Pierre
- */
- @WebServlet(name = "BlogServlet", urlPatterns = {"/BlogServlet"})
- public class BlogServlet extends HttpServlet {
- private BlogJpaController blogJpaController;
- @Override
- public void init() throws ServletException {
- super.init(); //To change body of generated methods, choose Tools | Templates.
- ServletContext context = this.getServletContext();
- EntityManagerFactory emf =
- (EntityManagerFactory) context.getAttribute("EntityManagerFactory");
- blogJpaController = new BlogJpaController(emf);
- }
- /**
- * Als de request een parameter id heeft : deze Blog ophalen, anders alle Blogs
- * @param request
- * @param response
- * @throws ServletException
- * @throws IOException
- */
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- // 1. responseType instellen.
- response.setContentType("application/json;charset=UTF-8");
- // 2. Parameters uit de request halen (indien nodig)
- //Als de request een parameter id heeft : deze Blog ophalen, anders alle Blogs
- Integer id;
- try {
- id = Integer.parseInt(request.getParameter("id"));
- } catch (NumberFormatException e) {
- id = null;
- }
- Gson gson = new Gson();
- String jsonString;
- // 3. Instantie van het model ophalen en raadplegen.
- // 4. resultaat converteren naar een JSON String.
- if (id == null) {
- List<Blog> blogList = blogJpaController.findBlogEntities();
- jsonString = gson.toJson(blogList);
- } else {
- Blog blog = blogJpaController.findBlog(id);
- jsonString = gson.toJson(blog);
- }
- // 5. Output genereren
- try (PrintWriter out = response.getWriter()) {
- out.println(jsonString);
- }
- }
- //New Post
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- // 1. responseType instellen.
- response.setContentType("application/json;charset=UTF-8");
- // 2. Parameters uit de request halen (indien nodig)
- String title = request.getParameter("title");
- String content = request.getParameter("content");
- //Map<String, String[]> params = request.getParameterMap();
- // 3. Instantie van het model ophalen en raadplegen.
- Blog blog = new Blog(title, content);
- blogJpaController.create(blog);
- // 4. resultaat converteren naar een JSON String.
- Gson gson = new Gson();
- String jsonString = gson.toJson(blog);
- // 5. Output genereren
- try (PrintWriter out = response.getWriter()) {
- out.println(jsonString);
- }
- }
- @Override
- protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- // 1. responseType instellen.
- resp.setContentType("application/json;charset=UTF-8");
- // 2. Parameters uit de request halen (indien nodig)
- Integer id;
- try {
- id = Integer.parseInt(req.getParameter("id"));
- } catch (NumberFormatException e) {
- id = -1;
- }
- // 3. Instantie van het model ophalen en raadplegen.
- int aantal = 1;
- try {
- blogJpaController.destroy(id);
- } catch (NonexistentEntityException ex) {
- aantal = 0;
- }
- // 4. resultaat converteren naar een JSON String.
- Gson gson = new Gson();
- String jsonString = gson.toJson(aantal);
- // 5. Output genereren
- try (PrintWriter out = resp.getWriter()) {
- out.println(jsonString);
- }
- }
- //Update Post
- @Override
- protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- // 1. responseType instellen.
- resp.setContentType("application/json;charset=UTF-8");
- // 2. Parameters uit de request halen (indien nodig)
- Integer id;
- try {
- id = Integer.parseInt(req.getParameter("id"));
- } catch (NumberFormatException e) {
- id = -1;
- }
- String title = req.getParameter("title");
- String content = req.getParameter("content");
- // 3. Instantie van het model ophalen en raadplegen.
- Blog blog = new Blog(id, title, content);
- int aantal = 1;
- try {
- blogJpaController.edit(blog);
- } catch (Exception ex) {
- aantal = 0;
- }
- // 4. resultaat converteren naar een JSON String.
- Gson gson = new Gson();
- String jsonString = gson.toJson(aantal);
- // 5. Output genereren
- try (PrintWriter out = resp.getWriter()) {
- out.println(jsonString);
- }
- }
- /**
- * Returns a short description of the servlet.
- *
- * @return a String containing servlet description
- */
- @Override
- public String getServletInfo() {
- return "Short description";
- }// </editor-fold>
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement