classファイルが作成されない
コマンドを使ってjavaを実行しclassファイルを作成しようとしているのですが、実行できません。
実行したいパターンとしてhtml→javaファイルを呼び出す形にしたいのですが、クラスファイルができません。
javaファイルの存在する箇所に設定し,javac srv_escape.javaを記入すると
以下のエラーが出ました。このときの解決策はどのようにすればいいのでしょうか?
Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/Main と出ます。
他のQ&Aを見たりはしてたのですがよくわからなかったので質問しました。
このときの状態としてjavaソースの場所はC:\Program Files\Apache Tomcat 4.0\webapps\jsp10でjavac.exeファイルあり。
htmlファイルはC:\Program Files\Apache Tomcat 4.0\webapps\jsp10\day08-2においています。
ソース内容が
html
<html><head>
<title>予約文字のエスケープ></title>
</head>
<body>
<h1>予約文字のエスケープ</h1>
<form name="POST" action=/jsp/servlet/srv_escape">
入力文字:
<input type="text" name="esc" size="30" />
<input type="submit" value="送信" />
</form>
</html>
java
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class srv_escape extends HttpServlet {
int i;
public void doPost(HttpServletRequest request,
HttpServletResponse response )
throws ServletException,IOException {
response.setGontentType("text/html;charset=Shift_JIS");
PrintWriter out=response.getWriter();
out.println("<html><head>");
out.println("<title>予約文字のエスケープ</title>");
out.println("</head><body>");
out.println(<h1>予約文字のエスケープ</h1>");
out.println("入力した文字:");
out.println(strEscape(request.getParameter("esc")));
out.println("</body></html>");
}
private String strEscape(String strEsc){
StringBuffer strResult=new StringBuffer();
for(int i=0;i<strEsc.length();i++){
switch(strEsc.charAt(i)){
case '&':
strResult.append("&");
break;
case '<' :
strResult.append("<");
break;
case '>' :
strResult.append(">");
break;
default:
strResult.append(strEsc.charAt(i));
break;
}
}
return strResult.toString();
}
}
です。
よろしくお願いします。
補足
何で開けば見れるのでしょうか?