`
BryanMelody
  • 浏览: 61806 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

使用Servlet实现的包括文件上传的用户管理系统

 
阅读更多

        终于把之前的项目算是写完了,不过因为逻辑十分简单,就简单的使用了JSP+JavaBean的开发方式,但是也深深感觉到自己的servlet学的什么也不是,所以决定写一个非常简单的用户管理的小项目来练手;也算是对于新的IDE的熟悉过程,下面是代码,实时更新

        先写实体类Users:

package com.test.entity;

/**
 * Created by lenovo on 2016/9/14.
 */
public class Users {
    private int id;
    private String username;
    private String password;
    private String content;
    private String photo;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getPhoto() {
        return photo;
    }

    public void setPhoto(String photo) {
        this.photo = photo;
    }
}

    servlet代码:

package com.test.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import com.jspsmart.upload.File;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;
import com.test.dao.UsersDao;
import com.test.entity.Users;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;

import static java.lang.System.out;

/**
 * Created by sjz on 2016/9/14.
 */
public class UsersServlet extends javax.servlet.http.HttpServlet {
    protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        doGet(request,response);
    }

    protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        String method = request.getParameter("method");
        out.println(method);
        switch (method){
            case "insert" :
                insert(request,response);
                break;
            case "delete" :
                delete(request,response);
                break;
            case "toUpdate":
                int id3 = Integer.parseInt(request.getParameter("id"));
                Users user3 = UsersDao.selectById(id3);
                request.setAttribute("user",user3);
                request.getRequestDispatcher("../show.jsp").forward(request,response);
            case "update" :
                System.out.println(request.getPart("id")+"aaaa");
                int id = Integer.parseInt(request.getParameter("id"));
                update(request,response,id);
                break;
            case "select" :
                //select(request,response);
                int id2 = Integer.parseInt(request.getParameter("id"));
                Users user2 = UsersDao.selectById(id2);
                request.setAttribute("user",user2);
                request.getRequestDispatcher("../show.jsp").forward(request,response);
                break;
            case "list" :
                //list(request,response);\
                List<Users> list = UsersDao.select();
                request.setAttribute("list",list);
                request.getRequestDispatcher("../list.jsp").forward(request,response);
                break;
        }
    }



    private void insert(HttpServletRequest request, HttpServletResponse response) {
        SmartUpload su = new SmartUpload();
        JspFactory _jspxFactory = null;
        PageContext pageContext = null;
        _jspxFactory = JspFactory.getDefaultFactory();
        pageContext = _jspxFactory.getPageContext(this,request,response,"",true,8192,true);
        try {
            su.initialize(pageContext);
            su.upload();
            PrintWriter out = response.getWriter();
            out.println("上传" + su.save("picture") + "个文件成功!!!"+"<br>");
            String username = su.getRequest().getParameter("username");
            String password = su.getRequest().getParameter("password");
            String content = su.getRequest().getParameter("content");
            File file = su.getFiles().getFile(0);
            if (file.isMissing())
                System.out.println("未选择文件");
            String photo = file.getFileName();
            String path = "/picture";
            path = path + "/" + photo;
            file.saveAs(path, SmartUpload.SAVE_VIRTUAL);
            System.out.println(photo);
            Users user = new Users();
            user.setUsername(username);
            user.setPassword(password);
            user.setContent(content);
            user.setPhoto(photo);
            if(UsersDao.insert(user)){
                out.println("成功");
                response.setHeader("refresh", "3;UsersServlet?method=list");
            } else{
                out.println("失败");
                response.setHeader("refresh", "3;UsersServlet?method=insert");
            }
        } catch (ServletException e) {
            e.printStackTrace();
        } catch (SmartUploadException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private void delete(HttpServletRequest request, HttpServletResponse response) {
        int id = Integer.parseInt(request.getParameter("id"));
        try{
            if(UsersDao.delete(id)){
                out.println("成功");
                request.getRequestDispatcher("UsersServlet?method=list").forward(request,response);
            } else{
                out.println("失败");
                request.getRequestDispatcher("../list.jsp").forward(request,response);
            }
        } catch (ServletException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private void update(HttpServletRequest request, HttpServletResponse response, int id) {
        SmartUpload su = new SmartUpload();
        JspFactory _jspxFactory = null;
        PageContext pageContext = null;
        _jspxFactory = JspFactory.getDefaultFactory();
        pageContext = _jspxFactory.getPageContext(this,request,response,"",true,8192,true);
        try {
            su.initialize(pageContext);
            su.upload();
            PrintWriter out = response.getWriter();
            out.println("上传" + su.save("picture") + "个文件成功!!!"+"<br>");
            String username = su.getRequest().getParameter("username");
            String password = su.getRequest().getParameter("password");
            String content = su.getRequest().getParameter("content");
            File file = su.getFiles().getFile(0);
            if (file.isMissing())
                System.out.println("未选择文件");
            String photo = file.getFileName();
            String path = "/picture";
            path = path + "/" + photo;
            file.saveAs(path, SmartUpload.SAVE_VIRTUAL);
            System.out.println(photo);
            Users user = new Users();
            user.setUsername(username);
            user.setPassword(password);
            user.setContent(content);
            user.setPhoto(photo);
            if(UsersDao.update(user,id)){
                out.println("成功");
                response.setHeader("refresh", "3;UsersServlet?method=list");
            } else{
                out.println("失败");
                response.setHeader("refresh", "3;UsersServlet?method=insert");
            }
        } catch (ServletException e) {
            e.printStackTrace();
        } catch (SmartUploadException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private void select(HttpServletRequest request, HttpServletResponse response) {
    }

    private void list(HttpServletRequest request, HttpServletResponse response) {
    }

}

 

         add.jsp:

<%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2016/9/14
  Time: 16:31
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户添加页</title>
</head>
<body>
    <%
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
    %>
    <form action="/servlet/UsersServlet?method=insert" method="post"enctype="multipart/form-data">
        <!--<input type="hidden" name="method" value="insert">-->
        用户名:<input type="text" name="username"><br>
        密&nbsp码:<input type="password" name="password"><br>
        简&nbsp介:<textarea name="content" placeholder="在这里输入您的简介"></textarea><br>
        照片:<input type="file" name="photo"><br>
        <input type="submit" value="提交">

    </form>
</body>
</html>

       list.jsp:

<%@ page import="com.test.entity.Users" %>
<%@ page import="java.util.List" %><%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2016/9/18
  Time: 9:36
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户列表</title>
</head>
<body>
    <tr>
        <td>用户ID</td>
        <td>用户名</td>
        <td>用户简介</td>
        <td>照片</td>
    </tr><br>
    <%
        List<Users> list = (List<Users>) request.getAttribute("list");
        for (int i=0;list!=null&&i<list.size();i++){
    %>
    <tr>
        <td><%=list.get(i).getId()%></td>
        <td><%=list.get(i).getUsername()%></td>
        <td><%=list.get(i).getContent()%></td>
        <td><img src="../picture/<%=list.get(i).getPhoto()%>" style="width:100px;height:100px;"></td>
        <a href="UsersServlet?method=select&id=<%=list.get(i).getId()%>">修改</a>
        <a href="UsersServlet?method=delete&id=<%=list.get(i).getId()%>">删除</a>
    </tr>
    <br>
    <%
        }
    %>
</body>
</html>

     show.jsp:

<%@ page import="com.test.entity.Users" %><%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2016/9/18
  Time: 9:27
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户详情页</title>
</head>
<body>
    <%
        Users user = (Users) request.getAttribute("user");
    %>
    <form action="/servlet/UsersServlet?method=update&id=<%=user.getId()%>" method="post"enctype="multipart/form-data">
        <input type="hidden" name="method" value="update">
        用户名:<input name="username" type="text" value="<%=user.getUsername()%>"><br>
        密码:<input name="password" type="password" value="<%=user.getPassword()%>"><br>
        简介:<textarea name="content"><%=user.getContent()%></textarea><br>
        照片:<img src="../picture/<%=user.getPhoto()%>" style="width:100px;height:100px;">
        <input type="file" name="photo"><br>
        <input type="submit" value="提交">
    </form>
</body>
</html>

         写完这个小项目真的成就感一级强烈,终于把Servlet页面跳转的门给进去了,所有代码逻辑性也并不是特别强烈,现在看来不应该写用户管理,新闻管理的话会更好,但是已经写完了,就可以进行下一步的学习了。全部代码都放在这里以供以后自己写东西参考

分享到:
评论

相关推荐

    CKEditor 上传文件(Servlet实现)

    本教程将详细介绍如何通过Servlet来实现CKEditor的文件上传功能。 首先,我们需要了解Servlet的概念。Servlet是Java服务器端程序,用于处理来自客户端(如浏览器)的请求并返回响应。在CKEditor的文件上传场景中,...

    servlet实现多文件上传

    本篇文章将深入探讨如何使用Servlet实现多文件上传的功能。多文件上传是Web应用中常见的一种需求,例如用户可能需要上传一组图片、文档或其他类型的数据。Servlet提供了一种灵活的方式来处理这种需求。 首先,我们...

    利用JSP+Servlet+JavaBean实现用户管理系统中的照片上传

    ### 使用JSP、Servlet与JavaBean构建用户管理系统的照片上传功能 #### 技术栈概览 在构建用户管理系统中的照片上传功能时,本案例采用了JSP(Java Server Pages)、Servlet(Java Servlets)和JavaBean的技术组合...

    基于Servlet实现文件的上传与下载

    在Java Web开发中,Servlet是用于处理HTTP请求的重要组件,常用于构建动态Web应用程序。"基于Servlet实现文件的上传与下载"是一个常见的实战任务,...通过不断的实践和学习,你可以创建更高效、更安全的文件管理系统。

    servlet 文件上传下载例子

    在这个"Servlet 文件上传下载例子"中,我们将探讨如何使用Servlet实现文件的上传和下载功能,这对于构建一个简单的图片文件服务器至关重要。 1. **文件上传** - **MultipartRequest**: 在Servlet中,处理文件上传...

    jsp servlet mysql实现的新闻发布管理系统项目源码.zip

    【描述】:“使用eclipse mysql等工具进行开发的JAVAWEB新闻发布管理系统,包括新闻发布、新闻大小标题设置、新闻分类、新闻上传等功能,内有视频教学” 1. Eclipse:Eclipse是一款强大的集成开发环境(IDE),支持...

    Servlet实现文件上传与下载

    ### Servlet实现文件上传与下载...通过上述介绍,我们可以看到使用Servlet技术实现文件上传与下载并不复杂,但需要注意细节处理,如文件路径的管理、异常情况的处理等。希望本文能帮助开发者更好地理解和实现这一功能。

    基于servlet的简易文件上传(带进度条)

    在提供的`MyUploadFile`压缩包中,可能包含了这个简易文件上传系统的具体实现,包括HTML表单、JavaScript的进度条逻辑以及Servlet的完整代码。解压后仔细查看,你将能更好地理解整个过程的实现细节。

    用servlet实现人力资源管理系统

    人力资源管理系统通常包括员工信息管理、考勤管理、薪酬福利、招聘培训等多个模块,这些模块的后端逻辑都可以通过Servlet进行实现。 【描述】:“上次上传了静态页面,这次觉得应该把具体实现上传了”这句话表明...

    用JSPServlet实现文件上传

    ### 使用JSP与Servlet实现文件上传的深度解析 ...总之,使用JSP与Servlet实现文件上传功能,不仅需要掌握核心的编程技巧,还应注重用户体验、性能优化以及安全防护,以构建稳定、高效且安全的文件上传系统。

    纯servlet写的用户管理系统

    本项目“纯Servlet写的用户管理系统”完全依赖于Servlet技术,不使用其他框架,如Spring或Struts,来实现用户管理的核心功能,如用户注册、登录、信息修改等。以下是对该项目中涉及的Servlet技术和相关知识点的详细...

    java servlet实现图片上传下载

    用户通过浏览器提交一个包含图片数据的表单到服务器,Servlet接收这个请求,将图片数据保存到服务器的文件系统或者数据库中。这里的关键点包括: 1. **文件表单处理**:在HTML表单中,我们通常使用`...

    文件上传与下载servlet

    在IT行业中,文件上传与下载是Web应用中常见的功能,特别是在企业级系统中,例如文档管理系统、在线教育平台等。Servlet作为Java Web开发中的一个重要组件,常被用来处理这些操作。下面将详细介绍如何使用Servlet...

    采用Servlet+Mvc模式实现学生管理系统

    在IT行业中,构建Web应用程序是常见的任务之一,而"Servlet+Mvc模式实现学生管理系统"是一个典型的案例,它展示了如何利用Java技术栈来设计一个简单的管理应用。在这个项目中,我们主要涉及了三个核心技术:Servlet...

    jsp+servlet实现图片上传

    在本文中,我们将深入探讨如何使用Java的JSP(JavaServer Pages)和Servlet技术来实现一个图片上传功能。这是一个常见的Web开发任务,特别是在构建交互性强、动态内容丰富的网站时。以下是一些关键知识点: 1. **...

    jsp+servlet实现的图书管理系统

    【jsp+servlet实现的图书管理系统】是一个基于Web的软件应用,它使用Java Server Pages (JSP) 和Servlet技术来处理用户交互和管理后端数据库。这个系统提供了多种功能,包括用户管理和图书管理,同时利用Ajax实现...

    servlet实现登录注册等源码

    总的来说,这个项目展示了如何使用Servlet、MySQL和JDBC实现基本的用户管理系统。这包括了用户注册、登录验证以及文件上传(如头像)的核心功能。对于初学者来说,这是一个很好的学习资源,可以帮助理解Web开发的...

    Servlet实现资源的上传与下载

    在本主题"Servlet实现资源的上传与下载"中,我们将深入探讨如何利用Servlet技术来实现用户上传文件到服务器以及从服务器下载文件的功能。这两个功能在许多Web应用程序中都是至关重要的,例如在线文档管理系统、社交...

    jsp servlet 实现的购物城管理系统

    综上所述,这个"jsp servlet 实现的购物城管理系统"是一个完整的Java Web项目,涉及到用户认证、购物车管理等多个关键模块,需要开发者具备扎实的Java基础、Servlet和JSP的使用经验,以及数据库操作的能力。...

    tomcat+tomcat插件+servlet文件上传jar包

    具体到这个压缩包中的“servlet文件上传jar包”,可能包含了一个预封装好的Servlet实现,用于简化文件上传操作。这类库通常会提供方便的API,例如Apache Commons FileUpload和Spring Framework的MultipartFile。它们...

Global site tag (gtag.js) - Google Analytics