会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132358个问题
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解 1456楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解 1459楼
JAVA 全系列/第五阶段:JavaWeb开发/JSP技术详解 1460楼

可以访问到html页面,但是一提交就报错

image.png

@WebServlet("/fileUpload")
@MultipartConfig
public class FileUpLoad extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置请求的编码
        req.setCharacterEncoding("utf-8");
        //获取输入的信息
        String desc = req.getParameter("desc");
        //获取file类型文件
        Part part = req.getPart("file");
        //给文件改名
        String fileName = UUID.randomUUID().toString() + part.getSubmittedFileName().substring(part.getSubmittedFileName().lastIndexOf("."));
        //相对路径转换绝对路径
        ServletContext servletContext = this.getServletContext();
        String realPath = servletContext.getRealPath("image/" + fileName);
        //给出需要上传文件的绝对路径
        part.write(realPath);
        //响应输出
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter printWriter = resp.getWriter();
        printWriter.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">");
        printWriter.println("<HTML>");
        printWriter.println("<HEAD><TITLE>A Servlet</TITLE></HEAD>");
        printWriter.println("<BODY>");
        printWriter.println("上传成功" + desc);
        printWriter.println("</BODY>");
        printWriter.println("</HTML>");
        printWriter.flush();
        printWriter.close();
    }
}


JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 1461楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 1463楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 1464楼
JAVA 全系列/第五阶段:JavaWeb开发/JSP技术详解(旧) 1465楼
JAVA 全系列/第五阶段:JavaWeb开发/Ajax技术详解(旧) 1466楼

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //得到请求信息
    String username = req.getParameter("username");
    String userpwd = req.getParameter("userpwd");
    //链接用户登录
    try {
        UserLoginService userLoginService = new UserLoginServiceImpl();
        Users user = userLoginService.userlogin(username, userpwd);
        //建立服务端与客户端的会话状态
        HttpSession session = req.getSession();
        session.setAttribute(Constants.USER_SESSION_KEY,user);
        //实现用户在一处登录,使用ServletContest
        ServletContext servletContext = this.getServletContext();
        HttpSession temp = (HttpSession) servletContext.getAttribute(user.getUserid()+"");
        if (temp != null){
            servletContext.removeAttribute(user.getUserid()+"");
            temp.invalidate();
        }
        servletContext.setAttribute(user.getUserid()+"",session);
        //用重定向方法实现页面的跳转
        resp.sendRedirect("main.jsp");
    }catch (RuntimeException e){
        //如果用户名找不到就报当下错误
        req.setAttribute("msg",e.getMessage());
        req.getRequestDispatcher("login.jsp").forward(req,resp);
    }catch (Exception e){
        //中间系统出问题就报当下错误
        resp.sendRedirect("error.jsp");
    }
}

老师我的代码没错吧,为什么实现不了在一处登录?

JAVA 全系列/第五阶段:JavaWeb开发/Web实战案例 1467楼
JAVA 全系列/第五阶段:JavaWeb开发/Web实战案例 1469楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解 1470楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637