大家好,
1。 我不知道那个有servlet的类怎么不能编译,我的JDK是1.5.0的版本。我想做个JSP网站,我的TOMCAT里面有个SERVLET包的。 编译的时候说我的SERVLET包不存在等很多问题。我什么办法? 我在用Eclipse保存时可以生成相应类。但是用JAVAC编译就不行了。 为什么?
2。我不知道如果Eclipse保存时能生成类,那么是不是说生成的类没有语法错误?如果JAVA源文件里有错的话,我该怎么看到他的错误信息?Eclipse上好像没有专门用于编译的按钮的。 我就是上面的两个问题了。
希望知道的解答一下,谢谢。
1。 我不知道那个有servlet的类怎么不能编译,我的JDK是1.5.0的版本。我想做个JSP网站,我的TOMCAT里面有个SERVLET包的。 编译的时候说我的SERVLET包不存在等很多问题。我什么办法? 我在用Eclipse保存时可以生成相应类。但是用JAVAC编译就不行了。 为什么?
2。我不知道如果Eclipse保存时能生成类,那么是不是说生成的类没有语法错误?如果JAVA源文件里有错的话,我该怎么看到他的错误信息?Eclipse上好像没有专门用于编译的按钮的。 我就是上面的两个问题了。
希望知道的解答一下,谢谢。
2.将它们复制到Java\jdk\jre\lib\ext下再编译就ok了。
我实在是搞不定了。唉
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HandleComputer extends HttpServlet{
public void init(ServletConfig cofig)throws ServletException{
super.init(config);
}
public void doPost(HttpServletRequest requst,HttpServletResponse reponse) throws ServletException,IOException{
ComputerBean dataBean=null;
HttpSession session=request.getSession(true);
try{
dataBean=(computerBean)session.getAttribute("ok");
session.setAttribute("ok",dataBean);
}catch(Exception e){
dataBean=new ComputerBean();
session.setAttribute("ok",dataBean);
}
double numberOne=Double.parseDouble(request.getParameter("numberOne"));
double numberTwo=Double.parseDouble(request.getParameter("numberTwo"));
String operator=request.getPatameter("operator");
double result=0;
if(operator.equals("+")){
result=numberOne+numberTwo;
}
else if(operator.equals("-")){
result=numberOne-numberTwo;
}
else if(operator.equals("*")){
result=numberOne*numberTwo;
}
else if(operator.equals("/")){
result=numberOne/numberTwo;
}
dataBean.setNumberOne(numberOne);
dataBean.setNumberTwo(numberTwo);
dataBean.setOperater(operator);
dataBean.setResult(result);
RequestDispatcher dispatcher=request.getRequestDispather("showResult.jsp");
dispatcher.forward(request,response);
}
public void doget(HttpServletRequest requst,HttpServletResponse reponse) throws ServletException,IOExcetion{
doPost(request,response);
}
}
然后,编译的错误是:
D:\cc>javac HandleComputer.java
HandleComputer.java:44: cannot find symbol
symbol : class IOExcetion
location: class HandleComputer
public void doget(HttpServletRequest requst,HttpServletResponse reponse) throws
ServletException,IOExcetion{ ^
HandleComputer.java:7: config has private access in javax.servlet.GenericServlet super.init(config);
^
HandleComputer.java:12: cannot find symbol
symbol : variable request
location: class HandleComputer
HttpSession session=request.getSession(true);
^
HandleComputer.java:14: cannot find symbol
symbol : class computerBean
location: class HandleComputer
dataBean=(computerBean)session.getAttribute("ok");
^
HandleComputer.java:21: cannot find symbol
symbol : variable request
location: class HandleComputer
double numberOne=Double.parseDouble(request.getParameter("numberOne"));
^
HandleComputer.java:22: cannot find symbol
symbol : variable request
location: class HandleComputer
double numberTwo=Double.parseDouble(request.getParameter("numberTwo"));
^
HandleComputer.java:23: cannot find symbol
symbol : variable request
location: class HandleComputer
String operator=request.getPatameter("operator");
^
HandleComputer.java:39: cannot find symbol
symbol : method setOperater(java.lang.String)
location: class ComputerBean
dataBean.setOperater(operator);
^
HandleComputer.java:41: cannot find symbol
symbol : variable request
location: class HandleComputer
RequestDispatcher dispatcher=request.getRequestDispather("showResult.jsp");
^
HandleComputer.java:42: cannot find symbol
symbol : variable request
location: class HandleComputer
dispatcher.forward(request,response);
^
HandleComputer.java:42: cannot find symbol
symbol : variable response
location: class HandleComputer
dispatcher.forward(request,response);
^
HandleComputer.java:45: cannot find symbol
symbol : variable request
location: class HandleComputer
doPost(request,response);
^
HandleComputer.java:45: cannot find symbol
symbol : variable response
location: class HandleComputer
doPost(request,response);
^
13 errorscomputerBean.java文件没问题,可以编译。public class ComputerBean {
double numberOne,numberTwo,Result;
String operater="+";
public void setNumberOne(double n){
numberOne=n;
}
public double getNumberOne(){
return numberOne;
}
public void setNumberTwo(double n){
numberTwo=n;
}
public double getNumberTwo(){
return numberTwo;
}
public void setOperator(String s){
operater=s.trim();
}
public String getOperator(){
return operater;
}
public void setResult(double n){
Result=n;
}
public double getResult(){
return Result;
}
}
希望会弄的人给出一个解决方案,谢谢,这是我的毕业设计的一部分,我很急,但是无能为力。搞不懂。
public void doPost(HttpServletRequest requst,HttpServletResponse reponse) throws ServletException,IOException{这段 HttpServletRequest requst ;而你在方法体引用的变量 是request,所以后面的大部分信息错误就是这个变量无法找到cannot find symbol
D:\cc>javac HandleComputer.java
HandleComputer.java:41: cannot find symbol
symbol : method getRequestDispather(java.lang.String)
location: interface javax.servlet.http.HttpServletRequest
RequestDispatcher dispatcher=request.getRequestDispather("showResult.jsp");
^
1 error
这个问题不知道怎么搞。
帮帮忙。
应该是request.getRequestDispatcher("showResult.jsp")
你还是用IDE吧
还有一个问题,就是。
我的SERVLET怎么测试啊?
这是SERVLET 类的目录:D:\program\Tomcat 6.0\webapps\ROOT\WEB-INF\classes\Computer
我的WEB。XML文件:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5"> <display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
<servlet>
<servlet-name>handlecomputer</servlet-name>
<setvlet-class>Computer.HandleComputer</setvlet-class>
</servlet>
<servlet-name>handlecomputer</servlet-name>
<url-pattern>/helpComputer</url-pattern>
</web-app>
然后,我怎么测试它??我用的是TOMCAT。谢谢各位。