新闻发布项目——Servlet类(doNewsModifyServlet )

简介: 新闻发布项目——Servlet类(doNewsModifyServlet )
package bdqn.newsManageServlet.Servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.List;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import bdqn.newsManageServlet.Dao.newsTbDao;
import bdqn.newsManageServlet.Dao.Impl.newsTbDaoImpl;
import bdqn.newsManageServlet.Service.categoryTBService;
import bdqn.newsManageServlet.Service.Impl.categoryTBServiceImpl;
import bdqn.newsManageServlet.entity.categoryTB;
import bdqn.newsManageServlet.entity.newsTb;
public class doNewsModifyServlet extends HttpServlet {
  /**
   * Destruction of the servlet. <br>
   */
  public void destroy() {
    super.destroy(); // Just puts "destroy" string in log
    // Put your code here
  }
  /**
   * The doGet method of the servlet. <br>
   *
   * This method is called when a form has its tag value method equals to get.
   * 
   * @param request the request send by the client to the server
   * @param response the response send by the server to the client
   * @throws ServletException if an error occurred
   * @throws IOException if an error occurred
   */
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    //获取相对应的值
    request.setCharacterEncoding("utf-8");
    //判断是文件还是不是文件
    newsTb news = new newsTb();
    String categoryName = "";//主题
    String title = "";//标题
    String author = "";//作者
    String summary = "";//摘要
    String content = "";//内容
    String picPath = "";//文件路径
    int id = 0;//类别id
    int newsid=0;//新闻的id
    boolean ismutipart=ServletFileUpload.isMultipartContent(request);
    if(ismutipart){
      //是文件
      //创建文件工厂
      FileItemFactory fac = new DiskFileItemFactory();
      //创建文件对象
      ServletFileUpload fileUpload = new ServletFileUpload(fac);
      //解析请求
      List<FileItem> fileItemlist;
      try {
        fileItemlist = fileUpload.parseRequest(request);
      
      //遍历结合,获取数据
      try {
    for (FileItem item : fileItemlist) {
      if (item.isFormField()) {
    //普通表单
    String fileName = item.getFieldName();
    //主题
    if (fileName.equals("slt")) {
      categoryName = item.getString("utf-8");
      categoryTBService cateService = new categoryTBServiceImpl();
      categoryTB cate = cateService
          .getCategoryIdByName(categoryName);
      //类别的id
      id = cate.getCategoryID();
    } else if (fileName.equals("title")) {
      //标题
      title = item.getString("utf-8");
    } else if (fileName.equals("author")) {
      //作者
      author = item.getString("utf-8");
    } else if (fileName.equals("summary")) {
      //摘要
      summary = item.getString("utf-8");
    } else if (fileName.equals("content")) {
      //内容
      content = item.getString("utf-8");
    }else if(fileName.equals("newsid")){
    //新闻的id
      newsid=Integer.parseInt(item.getString());
    }
      }else{
            //文件表单
            //文件表单
            //获取文件名全路径
            String fullfile = item.getName();
            File file1 = new File(fullfile);
             //控制文件上传类型
            //通过Arrays类的aList()方法创建固定长度的集合
            List<String> fileType = Arrays.asList("gif", "bmp",
                "jpg");
            String ext = fullfile.substring(fullfile
                .lastIndexOf(".") + 1);
            if (fileType.contains(ext)) { 
              //获取文件名,不包含文件路径
              String filename = file1.getName();
              ServletContext application=this.getServletContext();
              String uploadPath = application
                  .getRealPath("adminManage/");
              File file2 = new File(uploadPath, filename);
              item.write(file2);
              picPath = file2.toString();
              //上传成功!
            } 
            else {
              request.setAttribute("mesg", "文件类型只能是图片类型");
              request.getRequestDispatcher("adminManage/modifyNews.jsp?newsid="+newsid+"")
                  .forward(request, response);
              return;
            } 
          }
        }
      } catch (Exception ex) {
        ex.printStackTrace();
      }
      } catch (FileUploadException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
    /* //根据类别名臣获取类别id
    String categoryName = request.getParameter("slt");
    categoryTBService cateService = new categoryTBServiceImpl();
    categoryTB cate = cateService.getCategoryIdByName(categoryName);
    //类别的id
    int id = cate.getCategoryID();
    //int id=Integer.parseInt(request.getParameter("cateId"));
    int newsid = Integer.parseInt(request.getParameter("newsid"));
    String title = request.getParameter("title");//标题
    String author = request.getParameter("author");//作者
    String summary = request.getParameter("summary");//摘要
    String content = request.getParameter("content");//内容
    String picPath = request.getParameter("picPath");//上传图片路径 */
    //将修改的信息添加到数据库中
    newsTbDao ndao = new newsTbDaoImpl();
    //将信息封装起来
    news.setCategoryID(id);
    news.setTitle(title);
    news.setSummary(summary);
    news.setContent(content);
    news.setAuthor(author);
    news.setPicPath(picPath);
    news.setNewsID(newsid);
    int rel = ndao.updateNewsTb(news);
    if (rel > 0) {
      out.print("<script>alert('修改成功!');location.href='adminManage/editNews.jsp';</script>");
    } else {
      request.setAttribute("msge", "修改失败!");
      request.getRequestDispatcher("adminManage/modifyNews.jsp").forward(request,
          response);
    }
  }
  /**
   * The doPost method of the servlet. <br>
   *
   * This method is called when a form has its tag value method equals to post.
   * 
   * @param request the request send by the client to the server
   * @param response the response send by the server to the client
   * @throws ServletException if an error occurred
   * @throws IOException if an error occurred
   */
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    doGet(request, response);
  }
  /**
   * Initialization of the servlet. <br>
   *
   * @throws ServletException if an error occurs
   */
  public void init() throws ServletException {
    // Put your code here
  }
}


目录
相关文章
|
4天前
新闻发布项目——Servlet类(doRegServlet )
新闻发布项目——Servlet类(doRegServlet )
11 0
|
4天前
新闻发布项目——Servlet类(doNewsAddServlet)
新闻发布项目——Servlet类(doNewsAddServlet)
11 0
|
4天前
|
自然语言处理 Java 应用服务中间件
从零手写实现 tomcat-09-servlet 处理类
该文是一个关于手写实现 Apache Tomcat 简化版的系列教程摘要。作者希望通过亲自实现一个简单的 Tomcat,来深入理解其工作原理。系列教程包括了从入门介绍到解析处理 WAR 包、与 SpringBoot 集成等多个步骤。文章介绍了 Servlet 的概念,将其比作餐厅服务员,负责处理网络请求和响应。文中还详细阐述了 Servlet 的处理流程,并通过实例解释了如何实现一个基础的 Servlet。最后,提到了如何根据请求 URL 进行调度和处理,并给出了迷你版 Tomcat(Mini-Cat)的开源地址。
|
4天前
|
Java
springboot项目出现Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Filter
springboot项目出现Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Filter
17 0
|
4天前
|
Java
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
21 3
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
|
4天前
|
Java
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
22 0
|
4天前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
19 5
|
4天前
|
Java
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
15 1
|
4天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
17 2
|
4天前
|
开发框架 缓存 Java
JSP 教程 之 Eclipse JSP/Servlet 环境搭建 1
本教程指导如何使用Eclipse搭建JSP/Servlet开发环境。需下载Eclipse J2EE和Tomcat,将Tomcat解压至无中文和空格的D盘目录。启动Tomcat后,服务器运行,通过浏览器访问`http://localhost:8080/`。在Tomcat的webapps\ROOT目录创建test.jsp文件,输入代码并访问`http://localhost:8080/test.jsp`以验证环境配置成功。
8 1