JSP中System.out.println()与out.println()区别

本文详细解析了在JSP页面中使用out.println()与System.out.println()的区别,前者用于将内容输出到客户端,后者则直接打印在控制台上。通过实例演示了如何在JSP页面中正确地进行输出操作,并强调了在正规的网站建设中通常避免使用out.println(),而是直接使用JSP内置标签来实现。
out.println()输出到客户端。
    在out.println()中,out是response的实例,是以response为对象进行流输出的,即将内容输出到客户端。如果在JSP页面中使用System.out.println(),在客户端只会输出一个空格。
 
System.out.println()打印在控制台当中。
    System.out.println()用的是标准输出流,这个是输出在控制台上的,而JSP不是控制台程序。不管是在JSP还是在JAVA程序中,System.out.println()都是打印在控制台上。 如果想打印在页面,简单点的方法是:
out.print( "要打印的内容" ); 
    其实在正规的网站建设中,是从来不用out.println()的,都是直接使用标签。
例:
服务器平台:tomcat。
客户端:firefox浏览器。
源程序:
//test.jsp文件
<%@page contentType="text/html;charset=gb2312"%>
<html>
<body>
 
<%@ page import = "java.util.Date"%>
<%
out.println("This is printed by out.println.");
System.out.println("This is printed by System.out.println.");
System.out.println("This is printed by System.out.println.");
System.out.println("This is printed by System.out.println.");
out.println("This is printed by out.println.");
 
%> 
</body>
</html>
 
客户端(浏览器)中的结果:
 JSP中System.out.println()与out.println()区别
 
 
从上图中可看出两个out.println()输出的内容间有一个空格(尽管源程序调用了3次System.out.println)。
 
控制台中的结果:
 JSP中System.out.println()与out.println()区别
 
从上图可看到调用3次System.out.println()的内容(其余的是服务器信息 )。
<think>我们正在解决NetBeans中使用TomcatSystem.out.println输出中文乱码的问题。 根据用户提供的引用和之前的知识,我们可以总结出乱码问题通常是由于编码不一致导致的。 在NetBeans中运行Tomcat,控制台输出的编码由JVM参数file.encoding决定,而NetBeans控制台本身也有编码设置。 解决方案步骤: 1. 设置NetBeans全局编码为UTF-8(或系统控制台一致的编码)。 2. 配置Tomcat的JVM参数,指定file.encoding为合适的编码(Windows下通常为GBK,Linux/macOS下为UTF-8)。 3. 确保项目文件编码上述设置一致。 详细步骤: 步骤1:设置NetBeans全局编码 - 打开NetBeans,进入菜单栏:工具 -> 选项 - 在“选项”窗口中,选择“其他”选项卡,然后选择“输出”标签(或类似标签,不同版本可能位置不同) - 检查“输出”窗口的编码设置,建议设置为UTF-8(如果系统控制台是UTF-8)或GBK(如果系统是中文Windows且控制台默认GBK)。 - 同时,在“编辑器”设置中,将默认编码设置为UTF-8。 步骤2:设置项目编码 - 右键单击项目 -> 属性 - 在“源”类别中,将“编码”设置为全局编码一致(如UTF-8)。 步骤3:配置Tomcat的JVM参数 - 在NetBeans中,打开“服务”视图(窗口 -> 服务)。 - 展开“服务器”,右键单击Tomcat服务器 -> 属性。 - 在“属性”窗口中,找到“平台”部分(或类似选项),在“VM选项”中添加: -Dfile.encoding=UTF-8 # 推荐使用UTF-8,因为NetBeans控制台通常支持UTF-8 或者,如果系统是Windows且上述设置后仍乱码,尝试: -Dfile.encoding=GBK 步骤4:重启Tomcat服务器 - 修改设置后,必须重启Tomcat服务器以使设置生效。 步骤5:验证设置 - 在代码中添加测试语句: System.out.println("中文测试"); - 运行项目,观察控制台输出。 如果按照以上步骤仍然乱码,可以考虑以下额外步骤: 额外步骤1:检查系统控制台编码 - 在Windows命令提示符下,执行chcp命令: 活动代码页: 936 (对应GBK) - 如果NetBeans控制台使用的是系统命令提示符,那么需要设置JVM编码为GBK(即步骤3中设置GBK)。 额外步骤2:修改NetBeans启动参数 - 找到NetBeans安装目录下的etc/netbeans.conf文件。 - 修改netbeans_default_options参数,添加JVM编码设置: -J-Dfile.encoding=UTF-8 - 重启NetBeans。 额外步骤3:检查系统区域设置(仅Windows) - 控制面板 -> 区域 -> 管理 -> 更改系统区域设置 - 确保勾选“Beta版:使用Unicode UTF-8提供全球语言支持”(此选项在Windows 10及更高版本中存在),但注意:启用此选项后系统将使用UTF-8,此时应设置JVM参数为UTF-8。 注意:在Windows系统中,如果不启用UTF-8支持,则控制台默认使用GBK编码,因此JVM输出也需使用GBK。 引用说明: 根据引用[1]中提到的统一编码思想,我们建议使用UTF-8作为统一编码,但也要根据实际环境调整。 如果上述方法仍不能解决,可能是NetBeans控制台本身的限制,可以尝试将输出重定向到文件,然后使用支持UTF-8的文本编辑器查看。 生成相关问题: 1. NetBeans中如何设置项目编码? 2. 如何修改NetBeans控制台输出的字体以正确显示中文? 3. 在Windows系统中,如何将命令提示符的默认编码改为UTF-8? 4. Tomcat日志文件中文乱码如何解决? 5. NetBeans运行其他服务器(如GlassFish)出现乱码怎么办?</think>### NetBeans Tomcat System.out.println 输出乱码解决方案 在 NetBeans 中使用 Tomcat 时出现 `System.out.println` 中文乱码问题,主要原因是 JVM 编码 NetBeans 控制台编码不匹配。以下是针对 NetBeans 的完整解决方案: #### 核心解决方案:配置 JVM 编码参数 1. **修改 Tomcat JVM 参数**: - 打开 NetBeans → 服务 → 服务器 → Tomcat 服务器 - 右键选择 **属性** → 平台 → 在 "VM 选项" 中添加: ```bash -Dfile.encoding=UTF-8 # 推荐方案 # 或 Windows 系统可尝试 -Dfile.encoding=GBK ``` - 点击确定保存设置[^1][^3] 2. **重启生效**: - 必须**完全重启 Tomcat 服务**(停止 → 启动) - 仅重启项目无效,需停止整个 Tomcat 实例 #### 辅助配置:统一 NetBeans 编码环境 ```mermaid graph TD A[NetBeans设置] --> B[全局编码] A --> C[项目编码] A --> D[文件模板编码] B --> E[设为UTF-8] C --> E D --> E ``` 1. **设置全局编码**: - 工具 → 选项 → 编辑器 → 文件编码 - 将所有选项设为 **UTF-8**: - 源文件编码 - 新建文件编码 - 其他文件编码 2. **配置项目编码**: - 右键项目 → 属性 → 源 → 编码 → 选择 **UTF-8** 3. **检查 JSP 文件头**: - 确保所有 JSP 文件包含: ```jsp <%@page contentType="text/html; charset=UTF-8"%> ``` #### 验证测试代码 ```java public class EncodingTest { public static void main(String[] args) { System.out.println("系统编码: " + System.getProperty("file.encoding")); System.out.println("中文测试:你好世界!"); } } ``` - 预期输出: ``` 系统编码: UTF-8 中文测试:你好世界! ``` #### 进阶排查(如仍乱码) 1. **检查 NetBeans 控制台编码**: - 编辑 `netbeans.conf` 文件(位于 NetBeans 安装目录/etc) - 添加启动参数: ```bash -J-Dfile.encoding=UTF-8 ``` 2. **Windows 系统区域设置**: - 控制面板 → 区域 → 管理 → 更改系统区域设置 - 勾选 **Beta: 使用 UTF-8 提供全球语言支持** 3. **Tomcat 日志文件验证**: - 查看 `logs/catalina.out` 文件 - 若文件内中文正常但控制台乱码,问题在 NetBeans 控制台显示 > **关键提示**:修改后必须**清理并重新构建项目**(右键项目 → 清理并构建)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kzbpp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值