java中的JSP错误问题
我已经为一个简单的电子书商店编写了一个javajava中的JSP错误问题,java,jsp,Java,Jsp,我已经为一个简单的电子书商店编写了一个javaservlet,出于某种原因,我不明白它为什么不编译。下面我粘贴了代码中给出错误的部分: public void int(ServletConfig conf) throws ServletException { super.init(conf); } 出现的错误如下所示: expected->(公共void^int(Servlet…)…) ”(“预期->piblic void**i**nt 类型的非法开始->公共void int*
servlet
,出于某种原因,我不明白它为什么不编译。下面我粘贴了代码中给出错误的部分:
public void int(ServletConfig conf) throws ServletException {
super.init(conf);
}
出现的错误如下所示:
expected->(公共void^int(Servlet…)…)
”(“预期->piblic void**i**nt
类型的非法开始->公共void int**(*Servlet…
;”应为->公共void int(ServletConfig^conf).
expected->public void int(ServletConfig配置**)**…
类型的非法开始->公共void int(ServletConfig conf)**抛出**..
;”应为->公共void int(ServletConfig conf)抛出ServletException^
任何建议都行。public void int无法完成选择void或int;您应该重命名方法名称,因为int是一个保留字public void int无法完成选择void或int;您应该重命名方法名称,因为int是一个保留字您不能使用像
int
这样的关键字作为标识符n Java。这是Java中所有代码特有的。我猜您正在尝试重写init(ServletConfig)
方法:
public void init(ServletConfig conf) throws ServletException {
super.init(conf);
}
出于学习目的,这是可以的,但理想情况下,您应该覆盖Servlet中的no arg,以免您做了一些使Servlet生命周期失控的事情。不要覆盖
init(ServletConfig)
除非绝对必要。您不能在Java中使用int
等关键字作为标识符。这是Java中所有代码特有的。我猜您是在尝试重写init(ServletConfig)
方法:
public void init(ServletConfig conf) throws ServletException {
super.init(conf);
}
public void **init**(ServletConfig conf) throws ServletException {
super.init(conf);
}
出于学习目的,这是可以的,但理想情况下,您应该覆盖Servlet中的no arg,以免您的操作导致Servlet生命周期失控。除非绝对必要,否则不要覆盖init(ServletConfig)
public void **init**(ServletConfig conf) throws ServletException {
super.init(conf);
}
它应该是init,而不是int。您正在从此init方法调用超类的init方法
这是访问servlet中ServletConfig对象的方法之一
另一种方法是打电话
ServletConfig conf = getServletConfig();
在加载servlet实例时调用init方法
它应该是init,而不是int。您正在从此init方法调用超类的init方法
这是访问servlet中ServletConfig对象的方法之一
另一种方法是打电话
ServletConfig conf = getServletConfig();
当加载servlet实例时调用init方法。当您定义如下方法时
public void int(ServletConfig conf)
公开:可接受性
作废:返回类型
int:方法名称
ServletConfig:方法接受的参数类型
conf:传递的参数
现在不会有任何错误,而且该方法可以完美地工作
但是java保留了不能用于任何其他目的的关键字
在您的例子中,int,您使用它作为方法名称
但是int是定义int类型变量的保留键盘
进一步说
在servlet生命周期中
你有三种方法
1:init
2:服务
3:摧毁
显然,您正试图初始化servlet,调用init方法
您面临的错误只是一个简单的打字错误
定义方法时,只需将initilize方法从int重命名为init
public void int(ServletConfig conf)
公开:可接受性
作废:返回类型
int:方法名称
ServletConfig:方法接受的参数类型
conf:传递的参数
现在不会有任何错误,而且该方法可以完美地工作
但是java保留了不能用于任何其他目的的关键字
在您的例子中,int,您使用它作为方法名称
但是int是定义int类型变量的保留键盘
进一步说
在servlet生命周期中
你有三种方法
1:init
2:服务
3:摧毁
显然,您正试图初始化servlet,调用init方法
您面临的错误只是一个简单的打字错误
只需将initilize方法从int重命名为init请发布整个源代码file@shreyanshjogi不需要,错误很明显。@Manolis Tsilikidis据我所知,不建议使用参数重写init方法。如果在servlet开始工作之前需要执行某些操作,请使用参数重写init方法请发布完整的源代码file@shreyanshjogi不需要,错误很明显。@Manolis Tsilikidis据我所知,不建议使用参数重写init方法。如果在servlet开始工作之前需要做些什么,请使用参数重写init方法。@JoopEggen init有问题,它用于许多复杂的对象和d他在处理servlet,所以他会经常使用init;无论如何,如果这回答了您的问题,那么自定名称将是明智的,我想获得“已接受”的manolis,谢谢。名称的提示是调用
super.init(conf)
@JoopEggen噢,我现在还没看到它,我猜我的大脑在第一个int+1之后将init转换为int。无论如何,正如Aleksei在上面所说的,转换init是有问题的。@JoopEggen init是有问题的,它被用于许多复杂的对象,他正在处理servlet,所以他会经常使用init;如果这能回答你的话,一个自我命名的名字将是明智的r问题我想得到“已接受”的manolis,谢谢。名字的提示是调用super.init(conf