IntelliJ Idea输出在控制台显示不出来

IntelliJ Idea输出在控制台显示不出来

<%@ page language="java" contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册</title>
<link rel="stylesheet" href="./css/reg.css">
</head>
<body>
   <div class="reg">
      <div class="header">
         <h1>
            <a href="./login.jsp">登录</a> <a href="./regist.jsp">注册</a>
         </h1>
      </div>
      <!-- 
         文件上传的条件
         * 表单必须是post提交方式
         * 表单中必须有文件上传项,文件上传项必须有name属性和值
         * 表单的enctype属性必须设置为multipart/form-data
       -->
      <form action="/reg_login/RegistServlet" method="post" enctype="multipart/form-data">
         <table>
            <tr>
               <td class="td1">用户名</td>
               <td><input type="text" class="input1" name="username"></td>
            </tr>
            <tr>
               <td class="td1">密码</td>
               <td><input type="password" class="input1" name="password"></td>
            </tr>
            <tr>
               <td class="td1">昵称</td>
               <td><input type="text" class="input1" name="nickname"></td>
            </tr>
            <tr>
               <td class="td1">性别</td>
               <td>
                  <input type="radio" name="sex" value="male">男
                  <input type="radio" name="sex" value="female">女
               </td>
            </tr>
            <tr>
               <td class="td1">上传头像</td>
               <td><input type="file" id="photo" name="upload"></td>
            </tr>
            <tr>
               <td class="td1">兴趣爱好</td>
               <td><label> 
                  <input type="checkbox" name="hobby" value="篮球">篮球
                  <input type="checkbox" name="hobby" value="足球">足球
                  <input type="checkbox" name="hobby" value="排球">排球 
                  <input type="checkbox" name="hobby" value="羽毛球">羽毛球
               </label></td>
            </tr>
            <tr>
               <td colspan="2">
                  <div class="btn-red">
                     <input type="submit" value="注册" id="reg-btn">
                  </div>
               </td>
            </tr>
         </table>
      </form>
   </div>
</body>
</html>
package com.imooc.servlet;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 用户注册的Servlet
 */

@WebServlet(name = "ServletTest",urlPatterns = "/RegistServlet")
public class RegistServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 数据的接受
        // 文件上传的基本操作:
        try {
            // 1、创建一个磁盘文件项工厂对象
            DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();

            // 2、创建一个核心解析类
            ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory);

            // 3、解析request请求,返回的是List集合,List集合中存放的是FileItem对象
            List<FileItem> list = servletFileUpload.parseRequest(request);

            // 4、遍历集合,获得每个FileItem,判断是表单项还是文件上传项
            for (FileItem fileItem : list) {
                // 判断是表单项还是文件上传项
                if (fileItem.isFormField()) {
                    // 普通表单项:
                    // 接收表单项参数的值:
                    String name = fileItem.getFieldName(); // 获得表单项的name属性的值
                    String value = fileItem.getString("utf-8"); // 获得表单项的值
                    System.out.println(name + ":" + value);
                } else {
                    //文件上传项:
                    // 文件上传功能
                }
            }
        } catch (FileUploadException e) {
            e.printStackTrace();
        }
    }
}

在Eclipse中可以咋控制台中获得数据,为什么在IDEA中就显示不出来了呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

404是页面不存在的错误,很有可能是路径写错了。你把浏览器运行时的报错图截一下,包括url地址。另外,你的工程名是否是/reg_login。还有项目部署的时候,是否有写路径,比如像下面这样。

http://img1.sycdn.imooc.com//climg/5a9504550001465807500178.jpg


  • 灵恸 提问者 #1
    非常感谢!原因是项目部署的时候路径错了
    2018-02-27 16:09:13
好帮手慕珊 2018-02-27 11:29:28

你好,我运行了一下你的代码,控制台显示数据如下:

http://img1.sycdn.imooc.com//climg/5a94d060000108af04670201.jpg

你是启动程序点注册后控制台不输出内容吗?有没有其他的报错信息呢?

祝学习愉快!


  • 提问者 灵恸 #1
    控制台没有报错信息,但是网页中点击注册后提示404
    2018-02-27 12:05:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java Web基础入门2018版
  • 参与学习       716    人
  • 提交作业       185    份
  • 解答问题       1363    个

会Java?懂前端基础?想学后台开发?那么,赶快来学习《Java Web入门》路径吧。本路径主要介绍Java Web的基础知识,并配有大量案例,定会让你收获多多!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师