• 締切済み

JSPでImportエラーになります

技術サイトを見ながらJSPを勉強しているのですが、 自作のクラスがimportエラーとなる為、コンパイルできない状態です。 色々サイトを検索して調べてみましたが、原因が分からず悩んでいます。 ご教示を宜しくお願いします。 ※下記、[参考資料]ページを見ながら勉強していますが、 原因を調べる為にimportだけの簡単のjsp(test.jsp)を 作成してデバッグ中です。 Windows2000 Apache 2.0.63 Tomcat 6.0.16 JK2 2.0.4 参考資料:http://www.atmarkit.co.jp/fjava/rensai/jsp06/jsp06.html ----------------------------------------------------------------------------- ■エラー内容(ブラウザの表示結果) org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: An error occurred at line: 6 in the generated java file Only a type can be imported. atmarkit.CopyrightHTML resolves to a package ■ファイルの配置 $docbase →test.jspを配置 $docbase\WEB-INF\classes\atmarkit →CopyrightHTML.classを配置 $docbase\WEB-INF\lib ■test.jsp <%@ page contentType="text/html; charset=SHIFT_JIS" %> <%@ page import="atmarkit.CopyrightHTML" %> <html> <body> <p>-- テスト --</p> </body> </html> ■CopyrightHTML.java package atmarkit; /** * 著作権表示用のHTMLを生成するクラス */ public class CopyrightHTML { public String year = ""; public String name = ""; public String mail = ""; // 標準的な著作権表示HTML文を取得する public String getNormalHTML() { if(!mail.equals("")) { name = " <a href=\"mailto:" + mail + "\">" + name + "</a>"; } return "Copyright " + year + " " + name + ". All rights reserved."; } // 短い著作権表示HTML文を取得する public String getShortHTML() { if(!mail.equals("")) { name = " <a href=\"mailto:" + mail + "\">" + name + "</a>"; } return "(C) " + year + " " + name + "."; } }

  • Java
  • 回答数1
  • ありがとう数2

みんなの回答

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

おそらく、おたくの環境ではatmarkitというパッケージを作っていないでしょうから、 <%@ page import="atmarkit.CopyrightHTML" %> や、 package atmarkit; の行を消してください。

nao123nao
質問者

お礼

お返事ありがとうございます。 以前、その方法で確認したのですが やはりエラーになりました。 もう少し調べてみます。

nao123nao
質問者

補足

nao123naoです。 自己解決しました。 JVMのバージョンの問題でした。 「j2sdkの1.4.2」で動作させていたのが問題だったようです。 もともと端末にインストールされていたので、そのまま 使用していたのですが、新たに「JDK6(1.6)」をインストールし、 tomcatのjre設定を変更し、ソースをリコンパイルしたところ 問題無く動作しました。 パッケージなどの構成は、初期のままです。 ありがとうございました。

関連するQ&A

  • jspから別のjspへパラメータが送信できない

    javaBeanを利用してjspを作成したけど Test.jspのソース <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="struts.*" %> <jsp:useBean id="formprocess" class= "struts.FormProcess" scope="application" /> <jsp:setProperty name="formprocess" property="*"/> <html> <head> <title>TEST</title> </head> <h2>情報の入力</h2> <form method="GET" action="/javaroad/jspdir/Test_1.jsp"> <p> 名前: <input type="text" name="name" size=30> <p> メールアドレス: <input type="text" name="mailaddress" size=30> <p> <input type="submit" value="送信"> </form> </center> </body> </html> Test_1.jspのソース <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="struts.*" %> <jsp:useBean id="formprocess" class= "struts.FormProcess" scope="application" /> <html> <head> <title>TEST</title> </head> <body> <p> 名前: <jsp:getProperty name="formprocess" property="name"/> <p> メールアドレス: <jsp:getProperty name="formprocess" property="mailaddress"/> </body> </html> Beanのソース package struts; public class FormProcess { String name; String mailaddress; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setMailaddress(String mailaddress) { this.mailaddress = mailaddress; } public String getMailaddress() { return mailaddress; } } Test.jspでデータを入力して送信ボタンを押すとTest_1.jspではnullが表示します。前の入力したデータではないです。どうしたらできますか?

    • ベストアンサー
    • Java
  • ServletとJSPで。。。

    省略してますが、下記の記述で JSPの----部分の記述方法がわかりません。 実際、実行できる環境だといいのですが、今は実行環境がないので調査できません。 まだなにもわからない状態なので、記述が正しいかも自信ありませんがよろしくお願いします。 =============Servlet==============================Schedulebean bean = new Schedulebean(); bean.setYear(request.getParameter("year")); bean.setMonth(request.getParameter("month")); request.setAttribute("bean", bean); request.getRequestDispatcher("/jsp/schedulefrm.jsp").forward(request,response); ============ JSP ================== <%@ page contentType = "text/html; charset=Shift_JIS"%> <jsp:useBean id="bean" scope="request" class="java.lang.String"/> <HTML> <FRAMESET FRAMESPACING="10" COLS="250,*"> <FRAME src="/jsp/calender.jsp?Year=<%= year % -------- ↑ >&Month=<%= month %>" --------- ↑    上記をid 取得する記述は? name = "left" scrolling = "no" NORESIZE /> <FRAME src="/jsp/schedule.jsp?Year=<%= year %>&Month=<%= month %>" name = "right" scrolling = "yes" /> </FRAMESET> </HTML>

    • ベストアンサー
    • Java
  • JSPで<A HREF=

    こんにちは。 JSPで 『url』 というストリング変数に サイトURLを入れ、 『name』 というストリング変数に サイトネームを入れています。値はシッカリ入っています。 <A HREF="<%= url%>"><%= name %></A> としたんですが、リンクしてくれません。 HTMLタグの中に <%= ~ %>タグを使ってはいけないのでしょうか? リンクを動的に貼りたいと思っています。上記の方法ではできないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • JSPでの文字化け

    こんにちは。 今JAVAを勉強中でJSPファイルを作成しています。 test.jsp <%@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J"%> <HTML> <HEAD><TITLE>文字表示テスト</TITLE></HEAD> <BODY> <% String text = request.getParameter("text"); if (text != null) { if (!text.equals("")) { out.println("画面からの文字<BR>"); out.println(text); } } %> <FORM NAME="testForm" METHOD="post" ACTION="test.jsp"> <TEXTAREA NAME="text"></TEXTAREA> <INPUT TYPE="submit" VALUE="送信"> </FORM> </BODY> </HTML> Windowsで上のプログラムを実行すると問題なく表示されますが Linuxサーバで実行すると???となってしまいます。

    • ベストアンサー
    • Java
  • URIのチェックがうまくいかない

    URIのチェックをJSPからしたいと思っています。 <%String URI = request.getRequestURI(); %> で取ってきて if( URI.equals("/test/test.jsp"){ A }; などの処理をさせるときに ディレクトリを処理材料にしたいと思っています。 if( URI.equals("/test/*"){ A }; としたいのですが、うまくいきません。どうすべきでしょうか?

    • ベストアンサー
    • Java
  • JSP表示エラー?

    たびたびすみません リクエストから取ってきたコメントどうしても表示ができないです。 環境は tomcat5.5 postgresql8.2 データベースエンコーディングはEUC_JP JSPファイルもEUC形式で保存してます。 コメント欄に日本語を入力するとエラーが出てしまいます。 JSPファイル1 <%@ page contentType="text/html; charset=euc-jp"pageEncoding="euc-jp" %> <%@ page import="java.sql.*,atmarkit.MyDBAccess" %> <% // 内容: データベースにアクセスする MyDBAccess db = new MyDBAccess(); db.open(); ResultSet rs = db.getResultSet("SELECT * FROM SHAINLIST order by member_id"); String tableL = "<table border=1>"; tableL += "<tr bgcolor=\"000080\"><td><font color=\"white\">ID</font></td>" + "<td nowrap><font color=\"white\">名前</font></td>" + "<td colspan=2><font color=\"white\">出欠</font></td>"; while(rs.next()) { int id = rs.getInt("member_id"); String name = rs.getString("name"); String age = rs.getString("age"); int state = rs.getInt("attendance"); String comment = rs.getString("comment"); if(comment != null){ comment = new String(comment.getBytes("8859_1"),"EUC_JP"); } 以下~略 JSPファイル2 <%@ page contentType="text/html; charset=euc-jp"pageEncoding="euc-jp" %> <%@ page import="java.sql.*, atmarkit.MyDBAccess" %> <% // 内容: データベースにアクセスする // 入力された引数を取得する String comment = request.getParameter("comment"); String attendance = request.getParameter("attendance"); String member_id = request.getParameter("member_id"); // MyDBAccess のインスタンスを生成する MyDBAccess db = new MyDBAccess(); // データベースへのアクセス db.open(); // データベース更新用のSQL文を作成 String sql = "update shainlist set comment='" + comment + "', attendance=" + attendance + " where member_id=" + member_id; // SQL文を実行 db.execute(sql); くわしい方教えていただけないでしょうか よろしくお願いします。

    • ベストアンサー
    • Java
  • jspでのパラメータでの値渡しについて

    最近、JSPについて勉強していていろいろ作っているのですが、 JSPでサーブレットに値を渡そうとしたのですが、内容がNULLになってしまいます。 HTMLとJSPでは a hrefでのパラメータ渡し方が違うんでしょうか? select.jspからTest.javaへ値を渡したいです。 <a href="/testPrj/Test?myans=ア&toi"><font size="5">ア</font></a> <a href="/testPrj/Test?myans=イ&toi"><font size="5">イ</font></a> <a href="/testPrj/Test?myans=ウ&toi"><font size="5">ウ</font></a> <a href="/testPrj/Test?myans=エ&toi"><font size="5">エ</font></a> とselect.jspでやっており、(変数toiは"問 ○○"みたいな感じです) String myans=(String)req.getParameter("myans"); と サーブレットで受け取ろうとしています。 いろいろとやってみたのですが、サーブレット側で受け取ったmyansを表示させるとnullに なっていました。 よろしくお願いします。

  • JSPからサーブレットを呼び出す際に404エラー

    現在、tomcatでサーブレット/JSPの勉強をしています。 参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。 JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。 ・ファイルの配置 basic |-input |...|-echo.jsp |-WEB-INF |...|-src |......|-input |.........|-EchoServlet.java |...|-classes |......|-input |.........|-EchoServlet.class |...|-web.xml ・echo.jsp内のサーブレットのパスに関する記述 <FORM ACTION="../servlet/input.EchoServlet"> ・web.xmlの記述 <servlet> <servlet-name>EchoServlet</servlet-name> <servlet-class>input.EchoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>EchoServlet</servlet-name> <url-pattern>/servlet/EchoServlet</url-pattern> </servlet-mapping> tomcatの/confのinvokerのコメントは外していません。 過去の質問も調べてみて、上記の記述の辺りがおかしいのではないかと 思うのですが、、お気付きの点がありましたら教えて頂けないでしょうか。

    • ベストアンサー
    • Java
  • HTTP 404 error

    Vine Linux,Tomcat5で (1)webapps/conf/server.xml ... <HOST> <Context path="/apress" docBase="apress" debug="0" reloadable="true" /> ... (2)webbapps/apress/login.jsp ... <table width="500" border="0" cellspacing="0" cellpadding="0"> <form name="loginForm" method="post" action="servlet/chapter2.login"> <tr><td width="402"><div align="right">User Name: </div></td> <td width="399"><input type="text" name="username"></td> </tr> ... (3)webapps/apress/WEB-INF/web.xml ... <servlet> <servlet-name>login</servlet-name> <servlet-class>chapter2.login</servlet-class> </servlet> <servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> ... (4)webapps/apress/WEB-INF/classes/chapter2/login.java package chapter2; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class login extends HttpServlet { private String target = "/welcome.jsp"; private String getUser(String username, String password) { // Just return a statice name // If this was reality, we would perform a SQL lookup return "Bob"; } .... (4)現象: http://xxx.xxx.xxx.xxxx:8080/apress/login.jsp でsubmit action 後、次のエラーが出てきました: HTTP 404 error, The requested resource (/apress/servlet/chapter2.login) is not available. この問題はどこにあるでしょうか教えてください。

  • JSPからサーブレットを呼び出す際に404エラー

    現在、tomcatとeclipseでサーブレット/JSPの勉強をしています。 参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。 JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。 ■eclipseのパッケージエクスプローラー basic |-WEB=INF/src |..|input |...|EchoServlet.java |-WEB-INF |..|web.xml |.|echo.jsp (WEB-INF直下に作成) ■echo.jsp内のサーブレットのパスに関する記述 <FORM ACTION="/servlet/EchoServlet"> ■web.xmlの記述 <servlet> <servlet-name>EchoServlet</servlet-name> <servlet-class>input.EchoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>EchoServlet</servlet-name> <url-pattern>/servlet/EchoServlet</url-pattern> </servlet-mapping> ■EchoServlet.javaの記述 package input; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class EchoServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = request.getParameter("message"); response.setContentType("text/plain; charset=Windows-31J"); PrintWriter out = response.getWriter(); out.println("message=" + msg); } } お気づきの点がございましたらご査収の程よろしくお願いいたします。

専門家に質問してみよう