Eclipse 为啥我建的JSP文件输入第一行一定报错?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse 为啥我建的JSP文件输入第一行一定报错?相关的知识,希望对你有一定的参考价值。

java EE、JDBC
图是我复制别人提供的友情代码,也是第一行报错。
请问是什么问题,有办法处理吗

参考技术A 右击项目名称,选择build path,选configure build path,Libraries中add jars找到tomcat中的servlet-api.jar 参考技术B 你的项目里面少servlet.jar这个包追问

这个包放在项目里哪个文件下呢?

追答

放哪里无所谓,但是你要在Build Path配置里面引入这个包

本回答被提问者采纳
参考技术C 把servlet和jsp的jar包导入就可以了。 参考技术D 刷新下项目,清理一下工程,不行就重启一下软件。

为啥 Java 会忽略 .properties 文件的第一行?

【中文标题】为啥 Java 会忽略 .properties 文件的第一行?【英文标题】:Why does Java ignore the first line of a .properties file?为什么 Java 会忽略 .properties 文件的第一行? 【发布时间】:2014-09-08 16:59:11 【问题描述】:

我正在使用一个应用程序来加载带有java.util.Properties.properties 文件,如下所示:

Properties _properties = new Properties();
_properties.load(new FileInputStream("app.properties"));

属性文件(最初)是这样的:

app=myApp
dbLogin=myDbLogin
version=0.9.8.10
server=1
freq=10000
stateGap=360000

奇怪的是,当我调用_properties.getProperty("app") 时,它总是返回null,但是我可以毫无问题地加载所有其他属性。我通过在属性文件顶部添加注释解决了这个问题,然后一切正常。

我的问题是:Java 为什么要这样做?我似乎找不到任何关于此的文档,而且似乎违反直觉。

【问题讨论】:

它不这样做,你确定你指的是同一个文件吗? 为什么'app.properties'用单引号括起来? 贴一个真实的例子。您的 Java 代码是非法的,我的猜测是您的真实属性文件中的“app”后面有一个空格。 属性中没有“getString()”方法 BOM 在文件开头? 【参考方案1】:

感谢@KonstantinV.Salikhov 和@pms 帮助解决这个问题;我决定发布发现的答案,以拯救人们通过 cmets 狩猎。

问题是我的文件编码错误,如下所述:http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html

load(Reader) / store(Writer, String) 方法以下面指定的简单面向行的格式从基于字符的流中加载和存储属性。 load(InputStream) / store(OutputStream, String) 方法与 load(Reader)/store(Writer, String) 对的工作方式相同,除了输入/输出流以 ISO 8859-1 字符编码进行编码.

(强调我的)。

我将属性文件的编码更改为 ISO-8859-1,一切正常。

【讨论】:

您应该努力始终使用没有 BOM 的 UTF-8。然后,您可以使用 InputStreamReader/OutputStreamWriter 进行操作。使用 Reader/Writer 你可以指定编码。【参考方案2】:

Java 无法正确处理 BOM - 您可以在属性中将其视为键。可以保存文件 UTF-8 但没有 BOM。以 vim 为例

:set nobomb

See vim wiki

【讨论】:

以上是关于Eclipse 为啥我建的JSP文件输入第一行一定报错?的主要内容,如果未能解决你的问题,请参考以下文章

eclipse在jsp界面上的第一行出现了报错,点报错的地方出现了这个,怎么回事?需要啥?

C语言中fscanf()按一定的格式读取文本文件!

我用eclipse导入一个项目时,为啥全部的JSP文件都有红叉?

我用eclipse导入一个项目时,为啥全部的JSP文件都有红叉?

为啥我的jsp 中radio得到的总是第一个

再jsp页面中使用kindeditor 的方法