約 4,141,653 件
https://w.atwiki.jp/abenben18/pages/38.html
ApacheとTomcatの連携 作業手順 mod_jk2の入手 http //ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-connectors/jk2/binaries/win32/からmod_jk2を入手する。 モジュールの追加 conf/httpd.confにモジュールの追加設定を行う。 LoadModule jk2_module modules/mod_jk2.so プロパティの追加 confフォルダにworkers2.propertiesファイルを新規作成する。 [status ] [uri /jkstatus/*] group=status [shm ] disabled=1 [channel.socket localhost 8009] [ajp13 ] [uri /tomcat-docs/*] 再起動 Tomcat,Apacheの順に再起動する アクセス http //localhost/tomcat-docs/index.htmlにアクセスする。
https://w.atwiki.jp/java_pro/pages/70.html
Javaプログラムを実行する際の引数について復習しましょう。 コマンドプロンプトでプログラムのソースコード が置かれているフォルダに移動して。 javac Hogehoge.java と「javac」というコマンドの後にファイル名を指定してあげると コンパイルができます。 コンパイルをすると「Hogehoge.class」のように クラスファイルが同じフォルダに生成されます。 ここで java Hogehoge と「java」というコマンドの後にクラス名を指定してあげると プログラムが実行されます。 コマンドラインの引数(実行時の引数) プログラムを実行する際に、メソッドのように引数を渡すことが できます。 プログラムはmainメソッドから実行されますよね。 public static void main(String[] args) というふうにmainメソッドを宣言すると思いますが、ここの 「args」というString配列にコマンドラインの引数(実行時の引数)が 渡されます。 たとえば、 java Hogehoge moge fuga java のようにプログラムを実行したとすると "moge fuga java"の部分がコマンドラインの引数として渡されます。 これはプログラムで String args[] = {"moge", "fuga", "java"}; と宣言されたような形になります。 なので、この実行時にはargs[0]には"moge"という文字列が入っています。 ※プログラムを実行する際に任意に引数を渡すことができるということなので、 コマンドラインの引数を渡していなければargs[0]などは存在しない。 ※コマンドラインの引数として渡すことが出来るのは文字列のみ ○3級の人向けの課題。 コマンドライン実行時に受け取った引数を番号を付けて順番に 表示するプログラム「ArgsTest01.java」を作りましょう。 例) java ArgsTest01 hogehoge mogemoge fugafuga あなたが入力したのは 1 hogehoge 2 mogemoge 3 fugafuga java ArgsTest01 あなたが入力したのは ※JCPadでコマンドラインの引数を指定して実行する場合理は、 コマンド(C)の右のエリアに直接コマンドを入力しましょう。
https://w.atwiki.jp/memcache/pages/23.html
ITPro Java技術最前線 SwingUnit VisualVM Snmp4J RMI ITPro Java技術最前線 URL http //itpro.nikkeibp.co.jp/article/COLUMN/20060915/248243/?ST=develop SwingUnit URL https //swingunit.dev.java.net/ VisualVM URL https //visualvm.dev.java.net/ Snmp4J URL http //www.snmp4j.org/ RMI RMI によるカスタムソケットファクトリの使用 http //java.sun.com/javase/ja/6/docs/ja/technotes/guides/rmi/socketfactory/index.html その他 http //www.ne.jp/asahi/hishidama/home/tech/java/j2ee/rmi.html http //d.hatena.ne.jp/nowokay/20060817#1155840591 http //d.hatena.ne.jp/muimy/20060831/1156996173 http //d.hatena.ne.jp/Kazzz/20080122/p1 http //www.edita.jp/trash/one/trash7431892.html http //www.02.246.ne.jp/~torutk/javahow2/rmi_nostub.html#doc1_id43 http //74.125.153.132/search?q=cache c1f2YwqqYSEJ www.hanatoyume.net/article.php/20090430190202197+RMI+java+6+stub cd=6 hl=ja ct=clnk gl=jp lr=lang_ja client=firefox-a http //www.google.co.jp/search?hl=ja client=firefox-a rls=org.mozilla%3Aja%3Aofficial hs=QgW q=RMI++stub+%E4%B8%8D%E8%A6%81 btnG=%E6%A4%9C%E7%B4%A2 lr=lang_ja aq=f oq=
https://w.atwiki.jp/developer/pages/4.html
書籍 Light Weight Java に関するドキュメント 1.サンプルプログラム(bookstore.war)の動作時のトラブル 1.1.TOMCAT4.1Xで起動時にエラーが発生する エラー内容 クラス org.apache.myfaces.webapp.StartupServletContextListener のリスナインスタンスにコンテキスト初期化イベントを送信中の例外です java.lang.NoClassDefFoundError javax/servlet/jsp/el/ELException at org.apache.myfaces.config.FacesConfigurator.feedStandardConfig(FacesConfigurator.java 202) 原因 jsp-2.0.jarがクラスパス上に無いために発生しています。 対応方法 本付属のCDROMの/software/myfaces-1.0.8.zip中に含まれています。解凍して、jsp-2.0.jarだけクラスパスに追加しましょう。 1.2.TOMCAT5.0Xでログイン処理時にエラーが発生する エラー内容 2005-09-10 23 48 09 StandardContext[/bookstore]Root cause of ServletException Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java 106) 2005-09-10 23 48 09 ApplicationDispatcher[/bookstore] サーブレット Faces Servlet のServlet.service()が例外を投げました javax.faces.FacesException JSPのクラスをコンパイルできません at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java 410) 原因 jspのコンパイラにクラスパスの設定がされていないため? 対応方法 eclips-[ウィンドウ]-[設定]-[tomcat]-[JVMの設定]-[クラスパス(生成されたクラスパスの前)]に以下のパスを追加 C \j2sdk1.4.1_02\lib\tools.jar 1.3.起動時にJSPのコンパイルエラーが発生する エラー内容 2005-09-11 01 02 46 ApplicationDispatcher[/bookstore] サーブレット jsp のServlet.service()が例外を投げました java.lang.Error コンパイル問題が未解決です。 文字列リテラルが二重引用符によって正しく閉じられていません。 at org.apache.jsp.login_jsp._jspx_meth_h_outputText_1(login_jsp.java 301) 原因 文字コードの設定が正しくないため 対応方法:このサンプルはUTF-8(CRLF)になっているので、eclipseの文字コードを変更する。 [bookstoreのプロジェクトを選択]-[右クリックでプロパティ]-[情報]-[テキスト・ファイルのデフォルトエンコード]-[その他]にUTF-8を設定。 あと、既に作成されてたJSPの.javaファイルを削除する。
https://w.atwiki.jp/suffix/pages/832.html
JDKはhttp //java.sun.com/javase/ja/6/download.htmlから Tomcatはhttp //tomcat.apache.org/から strutsはhttp //struts.apache.org/からダウンロードする。 strutsをダウンロードしたフォルダを展開すると、apps等があるので そこに入っているwarファイルをtomcatインストールフォルダのwebapps にコピー(デプロイ)するとうまく機能する。 尚、tomcatのサービスはきちんと起動しておくこと。 「コントロールパネル」→「管理ツール」→「サービス」から起動。 また、これらの開発をEclipseで実行するには以下のプラグインを入れておくと良い。 EclipseHTMLEditor[jsp作成等に] tomcatlauncher:workspaceとtomcatのwebappsの関連付けはQ A有。 tomcat起動ボタンを押しても何も反応が無い場合は、ビルドミス等も疑ってみよう。 プロジェクトを閉じてうまく起動する場合はその可能性が濃厚かも。
https://w.atwiki.jp/estorage/pages/18.html
SeasarでJavaの開発環境を構築 必要なソフト Windows Vist Home Premium SP1 Seasar2 Tomcat JSP サーブレット 構築手順1 参考サイト http //www.hellohiro.com/ http //www.site-cooler.com/java/tomcat/
https://w.atwiki.jp/cat_the_ripper/pages/19.html
u style="display none;" ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... a href= http //www.ringtones-dir.com free ringtones /a [http //www.ringtones-dir.com download ringtones] - [HTTP //www.ringtones-dir.com download ringtones] [nokia ringtones|http //www.ringtones-dir.com] - [nokia ringtones|HTTP //www.ringtones-dir.com] http //www.ringtones-dir.com/download/ http //www.ringtones-dir.com ring tones http //www.ringtones-dir.com | ringtones download "samsung ringtones" http //www.ringtones-dir.com [http //www.ringtones-dir.com|ringtones free] /u *Tomcat5.5のDataSourceをJNDI経由で使用するには 以下の3箇所への設定が必要。 どこに 何を 1 %Tomcat%¥conf server.xml 2 %Tomcat%¥conf¥Catalina¥localhost コンテキスト.xml 3 %コンテキスト%¥WEB-INF web.xml 《前提》 Tomcatプラグインを入れたEclipseを使って「Context declaration mode」は「Context files」に設定しておく (メニューバー:ウィンドウ→設定→Tomcat) Eclipseのパッケージエクスプローラー右クリックで「Tomcatプロジェクト」を選んで「Tomcatのコンテキストを更新する」を実行すると自動的に2のコンテキスト(そのプロジェクトフォルダ名).xmlが作成される。 もちろんJDBCドライバは|%Tomcat%¥common¥libに入れておく server.xml server.xmlには具体的に使用するDataSource情報を記入する。 Webサーバにあるすべてのコンテキストが同じDataSourceを使用できるようここに設定する。(以前は各コンテキストが個別にweb.xmlで設定していたらしい) GlobalNamingResources と /GlobalNamingResources の間に以下のリソースを追加する。 Resource name="ssjdb" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp. BasicDataSourceFactory" driverClassName="org.postgresql.Driver" url="jdbc postgresql //localhost 5432/rtm_log_cfg" username="postgre" password="XXXXXX" maxActive="20" maxIdle="10" / *postgreSqlを使用 コンテキスト.xml Webサーバとコンテキストを紐付けるための設定ファイル。 リソースをリンクさせている。 Context path="/ex6-1" reloadable="false" docBase="C ducationx6-1" workDir="C ducationx6-1work" ResourceLink name="jdbc/ssjdb" global="ssjdb" type="javax.sql.DataSource" / Logger className="org.apache.catalina.logger. SystemOutLogger" verbosity="4" timestamp="true"/ /Context web.xml 使用したいリソースを指定する。コンテキスト.xmlで設定した名前(name)を書く。 web-app と /web-app の間に以下のリソース指定を追加する。 resource-ref res-ref-name jdbc/ssjdb /res-ref-name res-type javax.sql.DataSource /res-type res-auth Container /res-auth /resource-ref 解説 server.xmlでグローバルネーミングリソースに name="ssjdb" を設定する。 全体用に設定されたこのデータソースをコンテキストから指定して使うため、コンテキスト.xmlでは name="jdbc/ssjdb"(web.xmlのnameはこっち)と global="ssjdb"(server.xmlのnameはこっち)を紐付けしている。 コンテキストのweb.xmlからは name="jdbc/ssjdb" を指定してあげればよい。 (補足)server.xmlのname="jdbc/ssjdb"、コンテキスト.xmlの global="jdbc/ssjdb" と設定してみたらjavax.naming.NameNotFoundExceptionとなった。
https://w.atwiki.jp/limixp/pages/19.html
Java開発環境のインストールが済んだらさっそくプログラムを書いてみます. 本当にインストールできているかの確認にもなります. Hello World!プログラム プログラムから画面上に「Hello World!」と表示させるプログラムをJavaで作ります. プログラムを書くためにテキストエディタを用意する必要があります。Windows標準のメモ帳(notepad.exe)でも構いません. オススメなテキストエディタはTeraPadやSakura Editorが挙げられます. 仕様は以下の通りとします. クラス名は HelloWorld . 「Hello World!」を標準出力に出力する greetWorld()メソッド. HelloWorldクラスのインスタンスを生成し,greetWorld()メソッドを呼び出すmain()メソッド. public class HelloWorld{ public HelloWorld(){ //コンストラクタ } public void greetWorld(){ System.out.println("Hello World!"); } public static void main(String[] args){ HelloWorld instance = new HelloWorld(); instance.greetWorld(); } } これをHelloWorld.javaというファイル名で保存します. 保存先はC ドライブの直下に java というディレクトリを作成し, C \java\に保存します. 保存後,このプログラムをコンパイル~実行は以下のようにします. コマンドプロンプトを起動します. HelloWorld.javaのファイルがあるディレクトリにcdコマンドで移動します.cd C \java\ HelloWorld.javaをjavacコマンドでコンパイルします.javac HelloWorld.java するとHelloWorld.classというバイトコード(クラスファイル)が生成されます.dirコマンドで確認できます. クラスファイルをjavaコマンドで実行します.java HelloWorld 「Hello World!」と表示された成功です. もしjavacコマンドでエラーが出た場合はソースに誤りがあります. エラーの内容からソースの内容を良く確認し,コンパイルしなおしてください. 以上で最初のJavaプログラムは終わりです. トップページ
https://w.atwiki.jp/chapati4it/pages/144.html
前回作った、CSVファイルのダウンロードサンプルでしたが、このままでは日本語ファイル名を扱えないのが分かったので、日本語ファイル名にも対応出来るサーブレットのサンプルを作成しました。 ■目次 ファイルの配置 日本語対応サンプルサーブレット(DynamicCsvJpServlet.java) web.xmlの設定 サンプルサーブレットへのリンクを表示するJSP(dynamic_csv_jp.jsp) ブラウザでアクセス 他のTomcatサンプルはこちら コメント ファイルの配置 /CONTEXT_ROOT ┣ WEB-INF ┃┣ src ┃┃┗ DynamicCsvJpServlet.java ┃┗ web.xml ┗ jsp ┗ dynamic_csv_jp.jsp 日本語対応サンプルサーブレット(DynamicCsvJpServlet.java) import java.io.*; import java.net.URLEncoder; import javax.servlet.*; import javax.servlet.http.*; import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeUtility; public class DynamicCsvJpServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // POSTメソッドでアクセスが来てもGETメソッドで全部処理します。 doGet(req, resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // CSV出力用データ String[][] rows = { { "0", "ダイナミック", "dynamic@example.com" }, { "1", "ホゲ", "hoge@example.com" }, { "2", "モゲ", "moge@example.com" }, { "3", "マゲ", "mage@example.com" }, { "4", "フゥ", "foo@example.com" }, { "5", "バァ", "bar@example.com" }, { "6", "グゥ", "goo@example.com" } }; // ファイル名設定 // リクエストパスからファイル名を取得 String fileName = new String(req.getPathInfo().substring(1).getBytes("ISO-8859-1"), "UTF-8"); // リクエストヘッダからユーザーエージェント(ブラウザの名前)取得 String ua = req.getHeader("user-agent"); if (ua.contains("MSIE")) { // IE用ファイル名エンコード fileName = URLEncoder.encode(fileName, "UTF-8"); } else { // IE以外(FireFox,Safari,Chrome)ファイル名エンコード fileName = MimeUtility.encodeWord(fileName, "ISO-2022-JP", "B"); } // レスポンスヘッダー設定 if (ua.contains("Safari")) { // サファリ用 resp.setContentType("application/octet-stream;"); } else { // サファリ以外用 resp.setContentType("text/csv; charset=UTF-8;"); resp.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); } // CSVデータ作成 StringBuffer sb = new StringBuffer(); for (String[] row rows) { for (int i = 0; i row.length; i++) { if (i == 0) { sb.append("\""); } else { sb.append("\",\""); } sb.append(row[i]); if (i == row.length - 1) { sb.append("\"\n"); } } } // レスポンスにCSV出力 PrintWriter w = resp.getWriter(); w.print(sb.toString()); w.flush(); } } 前回作ったCSV出力サーブレットを、日本語ファイル名に対応出来る用に修正しました。 修正箇所説明 // リクエストパスからファイル名を取得 String fileName = new String(req.getPathInfo().substring(1).getBytes("ISO-8859-1"), "UTF-8"); まずここで、リクエストパスからファイル名を取得します。 例:「/hogeservlet/hoge.csv」にアクセス → リクエストパスに「/hoge.csv」が入る → 1文字目をカットして「hoge.csv」を取得 リクエストパスに日本語が入ると文字化けしてしまうので、文字化け対策として一度バイト配列に戻し、UTF-8で文字列に戻しています。 // リクエストヘッダからユーザーエージェント(ブラウザの名前)取得 String ua = req.getHeader("user-agent"); if (ua.contains("MSIE")) { // IE用ファイル名エンコード fileName = URLEncoder.encode(fileName, "UTF-8"); } else { // IE以外(FireFox,Safari,Chrome)ファイル名エンコード fileName = MimeUtility.encodeWord(fileName, "ISO-2022-JP", "B"); } ここでは、ブラウザ毎の動作の違いを吸収します。 IEは日本語ファイル名は「URLEncoder.encode」を使いエンコードして上げる必要があります。 FireFox Chromeは「MimeUtility.encodeWord」を使います。 // レスポンスヘッダー設定 if (ua.contains("Safari")) { // サファリ用 resp.setContentType("application/octet-stream;"); } else { // サファリ以外用 resp.setContentType("text/csv; charset=UTF-8;"); resp.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); } ここでもブラウザ毎の動作の違いを吸収しています。 まず、サファリでは日本語のファイル名を「Content-Disposition」で上手く設定出来ませんでした。 そこでサファリ用に、リクエストパスにファイル名を持たせて、サファリの場合はコンテンツタイプを「application/octet-stream」するという方法にしました。 この対応でなんとか、ウィンドウズ7のサファリですが日本語のファイル名でダウンロードできるようになりました。 サファリ以外は、前回とほぼ変わらずIE用とそれ以外用にエンコードしたファイル名を設定しています。 web.xmlの設定 ?xml version="1.0" encoding="ISO-8859-1"? 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_3_0.xsd" version="3.0" !-- サーブレットの宣言 -- servlet servlet-name dynamiccsvjpservlet /servlet-name servlet-class DynamicCsvJpServlet /servlet-class /servlet !-- サーブレットとurlのマッピング -- servlet-mapping servlet-name dynamiccsvjpservlet /servlet-name url-pattern /dynamiccsvjpservlet/* /url-pattern /servlet-mapping /web-app サーブレットの宣言とURLのマッピングです。 「url-pattern」にワイルドカードを設定して、「/dynamiccsvjpservlet/日本語.csv」のようにアクセスすると、「DynamicCsvJpServlet」が実行され、*の部分に相当する「/日本語.csv」をサーブレットで取得出来るのです。 この時点で、Tomcatを起動して「http //localhost 8080/CONTEXT_ROOT/dynamiccsvjpservlet/日本語.csv」にアクセスすると、CSVファイルのダウンロードダイアログが出てくると思います。 サンプルサーブレットへのリンクを表示するJSP(dynamic_csv_jp.jsp) %@ page language="java" contentType="text/html; charset=UTF8" pageEncoding="UTF-8" % html head meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /head body a href= %=request.getContextPath()+"/dynamiccsvjpservlet/" + java.net.URLEncoder.encode("日本語.csv","UTF-8")% エンコードあり /a br a href= %=request.getContextPath()+"/dynamiccsvjpservlet/日本語.csv"% エンコードなし /a br /body /html 日本語対応のサーブレットにアクセスするリンクを表示するJSPです。サーブレットのパスに続けてCSVのファイル名もURLに含めてあります。 URLエンコードありとなし両方用意してありますが、どちらでも問題なくアクセス出来ます。 アクセス出来ないブラウザがないとも限らないので、エンコードしておいたほうがよいと思いますが。 html head meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /head body a href= /Tomcat7Test/dynamiccsvjpservlet/%E6%97%A5%E6%9C%AC%E8%AA%9E.csv エンコードあり /a br a href= /Tomcat7Test/dynamiccsvjpservlet/日本語.csv エンコードなし /a br /body /html JSPが出力したHTMLです。 ファイル名エンコードのありとなしがはっきり分かりますが、どちらでも問題なくアクセス出来ました。 ブラウザでアクセス 「http //localhost 8080/CONTEXT_ROOT/jsp/dynamic_csv_jp.jsp」にアクセスすると、ダウンロードのリンクが表示されて、リンククリックでブラウザのダウンロード処理が動きます。 他のTomcatサンプルはこちら Tomcatサンプル Tomcatメモ Tomcat7.0.37のインストールとeclipseの設定(Windows) サーブレットを作ってみる Tomcat7のインストールとwarファイルのデプロイ(ubunts12.04) warファイルをdotcloudにデプロイ サーブレットからJSPに遷移するサンプル サーブレットからCSVファイルをダウンロードするサンプル サーブレットからCSVファイルをダウンロードするサンプル(日本語ファイル名) サーブレットからファイルをダウンロードするサンプル(日本語ファイル名) Basic認証(UserDatabaseRealm)+DIGEST認証 JFreeChartで動的にグラフを出力するサンプル ファイルをアップロードするサンプル(Commons FileUplaod) クロスサイトスクリプティング脆弱性を体験してみるサンプル コメント 名前
https://w.atwiki.jp/java_pro/pages/21.html
import java.io.*; public class Break { public static void main(String[] args){ BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try { while (true){//無限ループ String line = reader.readLine();//標準入力から一行取得 if (line == null){//nullなら繰返しを抜ける break; } System.out.println(line);//画面に取得した文字列を表示 } System.out.println("終了します。"); } catch (IOException e){ System.out.println(e); } } }