首页 > 技术文章 > jsp里导入java包的问题

rongyao 2017-01-18 13:03 原文

写jsp导包的时候出了两处错误什么?特么两处,总共就一句话啊...):

新建jsp文件会自动生成一句:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

然后我们需要导入我们自己想要的包的时候:

一个一个的导入:

<%@ page import="java.sql.*" %>
<%@ page import="java.util.regex.*"%>

一块导入:

<%@ page import="java.sql.*,java.util.regex.*" %>中间用逗号隔开,后面不加逗号!

我自己犯的错误是:

第一处是:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>

是不是有种怪怪的感觉,果不其然,果断 500 了 :

意思是不能出现两次pageEncoding

好,再来:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page language="java" import="java.sql.*" %>
<%@ page language="java" import="java.util.regex.*;" %>

好,没报错,但感觉还是哪里怪怪的...

但是能正常运行啊?

好吧,发给别人试试,哎,500 ...

怎么回事?

分号,把分号去掉! 多个包是用逗号分隔的啊!(卧槽,明明在我电脑都能过的...河河)

那把分号换成逗号试一下:

是哦,后面没有类怎么编译啊?所以后面的逗号不能要!

但是,这样:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page language="java" import="java.sql.*" %>
<%@ page language="java" import="java.util.regex.*" %>

怎么感觉还是怪怪的,导个包而已,为啥每句都加language="java",有毛线关系啊?

查一查:

%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

每一个都是什么意思啊?

language="java" 声明脚本语言的种类,目前只支持JAVA语言。默认为JAVA。

import="java.util.* "  导包

pageEncoding="utf-8"  声明jsp内容的编码格式

<%@ page %>  page指令

你可以在一个页面中用上多个<% @ page %>指令,但是其中的属性只能用一次,不过也有个例外,那就是import属性。因为import属性和Java中的import语句差不多(参照Java Language),所以你就能多用此属性几次了.
无论你把<% @ page %>指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性,以及好的编程习惯,最好还是把它放在JSP文件的顶部.

哦,这样就明白了,language="java"和pageEncoding="UTF-8"这兄弟俩和导包是没有关系滴,而且在标准里整个页面只能出现一次。导包多个中间用逗号分隔,注意最后面没有!

虽然是细节问题(基础问题),但是不容忽视,只是多一个逗号,整个页面就会挂了(liao)...

 

 

 


 

推荐阅读