今から5分で,Tomcatを動かし,サーブレットやJSPも動かす。 その動作する仕組みも理解する。 サーバサイドJavaの入門の,一番最初の取っ掛かりとして利用できるページとして使ってほしい。 初学者に,独学を開始するための軌道に乗ってもらうことが目的。 環境: Windows7 x64 前提: JDKがインストール済みで,binにPATHが通っていること。 では,今から5分でTomcatを習得しよう。 (1)Tomcatのダウンロードと起動 インストール 起動と停止 セッション管理の様子を調べる (2)アプリを作成して動かす HTMLのみ URLを変える サーブレット JSP 仕組みを補足 注:Tomcatが起動できない時 この先 (1)Tomcatのダウンロードと起動 インストール コントロールパネル→システムとセキュリティ →システム→システムの詳細設定→環境変数 から,環境変数を登
次はFORM認証について確認します。FORM認証ではユーザー名とパスワードを入力してもらう画面をダイアログの替わりに自分で作成したHTMLページを指定することができます。 FORM認証の場合はHTTPプロトコルの認証の仕組みを使わずに認証が通った場合はセッションを使って認証が通っているかどうかを管理します。その為、一度成功した認証の有効期限はセッションの有効期限に従いますので注意が必要です。 web.xmlの設定 FORM認証を行う場合には認証方法の設定で<login-config>要素に含まれる<auth-method>要素に「FORM」を指定します。 <login-config> <auth-method>FORM</auth-method> <realm-name>レルム名</realm-name> <form-login-config> <form-login-page>/logi
はじめに Javaの基本的な構文について理解している前提です。 Eclipse (Pleiades) を使用している前提です。 開発環境のセットアップについては Eclipseの超基本的な使い方 - Qiita を参照してください。 まずは、ServletとJSPの動作について確認します。(当記事) その後、TODOアプリの開発を通してJSP&ServletによるWebアプリ開発の基本について解説しようと思います。(次回予定) プロジェクトの作成 パッケージ・エクスプローラー を右クリックし 新規 -> プロジェクト... を選択 Web -> 動的Webプロジェクト を選択して 次へ> をクリック プロジェクト名、ターゲット・ランタイムを入力して 完了 をクリック プロジェクト名: TodoServlet ターゲット・ランタイム: Tomcat8 (Java8) 1 2 3 HelloS
今回は、Servlet 3.0でサポートされた非同期処理について説明します。これは、後日投稿予定の「Spring MVC(+Spring Boot)上でのServlet標準の非同期処理を理解する」の前提となる基礎知識になります。私自身Servlet標準の非同期処理は使ったことはほぼないので、間違っている箇所があるかもしれません+細かい動作仕様の説明は本投稿では扱いません・・・ (あしからず ) 動作確認環境 Java SE 8 Tomcat 8.0 (Servlet 3.1) まずは普通のServletを作ってみる 非同期うんぬんの前に、まず普通のServletを作ってみましょう。 waitSecで指定した秒数だけ待ってから "/complete.jsp"に遷移するというシンプルなサーブレットです。 package com.example.component; import javax.s
リクエスト本文(リクエストボディ)を取得するメソッドって特に提供はされていないと思いつつ、Java8ならば少し簡単に記述できます。 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String result = request.getReader().lines().collect(Collectors.joining("\r\n")); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { BufferedReade
下記の質問を見つけたので、ちょっと調べてみた。 getReaderとgetParamater系って一回のリクエストで同時に使えないの? http://bwind.blog19.fc2.com/blog-entry-15.html TomcatのServlet API ServletRequest#getParameter()内には下記の記載がある。 http://mergedoc.sourceforge.jp/tomcat-servletapi-5-ja/javax/servlet/ServletRequest.html HTTP POST リクエストで送ったなど、パラメータのデータがリクエストのメッセージボディで送られた場合、 getInputStream() や getReader() メソッドを使って直接メッセージボディを読み込む操作は、 このメソッドの実行に影響を与えることがありま
個々のアクションとかの前処理段階で、HTTPリクエストに怪しいデータが入っていないかチェックするFilterを用意したりしていたんですが(・ω・) これがmultipartのPOST(ファイルアップロードのある画面)の時に対応していないっていうんで、multipartの時の処理(内部的にはcommons-uploadを使用)を追加してみたところ、今度はアクションにパラメータが渡らないという状況に(;´Д`) 理由は、multipartのリクエストを解析するために使用しているServletInputStream(の実装)が再利用を考慮していないため、Filter内でServletInputStreamを使用してしまうと、アクションにパラメータを設定する際にはServletInputStreamのポインタがEOFになっているためですた(・ω・) Tomcatの実装もWebLogicの実装も駄目
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>nagap</artifactId> <packaging>war</packaging> <version>1.0.0-SNAPSHOT</version> <name>nagap</name> <url>http://maven.apa
あちこちでそれなりに話題になっているけど、先日にCentOS 7がリリースされた。 CentOS 7にはifconfigコマンドが無いなど、結構アグレッシブにモリモリと変わっている部分も多いけど、その辺のレポートは色々あるのでわざわざ私は書かなくて良いだろう。 そこで、この記事ではCentOS 7のTomcatに絞って変更点をまとめておく。なお本記事では、以下のバージョンのCentOSで調査しました。 CentOS 6.5 (64bit) CentOS 7.0.1406 (64bit) 復習:CentOS 6でTomcat CentOS 7でのTomcatを見る前に、まずCentOS 6ではどうだったかをちょっとおさらいしておく。 CentOS 6の公式rpmのTomcatは長らくVer.6(Tomcat 6.0.24)で放置されており、Tomcat 7.xは提供されていない。何度かRed
こんにちは横部です。 JaCoCoはJavaの為のコードカバレッジ取得ライブラリです。 http://www.eclemma.org/jacoco/ このライブラリを使うと、 テストでどこのコードを通ったのか数値化されるため、 テスト漏れを防ぐことができます。 私が参画しているプロジェクトではJUnitによる単体テストはJenkinsで自動化されており、Gradleでビルドされています。 https://gradle.org/ その際はbuild.gradleにGradle JaCoCo Pluginを設定するだけで、 簡単にコードカバレッジの取得とカバレッジレポートの出力ができていました。 しかしこのプラグインはGradle実行中のみ有効である為、 UIを操作して行う手動テストだとGradle JaCoCo Pluginが使えません。 UIを操作して行う手動テストでコードカバレッジを取得
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く