SAK 図書館
JAVA Servlet、JSP 基礎編6 - リクエストメソッド、コンテンツタイプ、環境変数
■リクエストメソッドオーバライド
void doGet(HttpServletRequest req, HttpServletResponse res)
void doPost(HttpServletRequest req, HttpServletResponse res)
Perl 等の GET、POST リクエストに相当するオーバライドメソッド。
■コンテンツタイプ
res.setContentType("text/html; charset=SJIS");
|_ text/html
text/plain
image/gif
image/jpeg
image/png
application/zip
application/pdf
application/vnd.ms-excel
audio/midi
■環境変数
String blws = req.getHeader("USER-AGENT"); // ブラウザ情報
String url = req.getHeader("REFERER"); // リモート端末の直前の URL
String ip = req.getRemoteAddr(); // リモート端末の IP アドレス
String path = req.getPathInfo(); // 現 CGI のパス情報
■物理パス
// test.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class test extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
res.setContentType("text/html; charset=SJIS");
PrintWriter rw = res.getWriter();
rw.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">");
rw.println("<HTML>");
rw.println("<HEAD>");
rw.println("<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">");
rw.println("<TITLE>JAVA Servlet Test</TITLE>");
rw.println("</HEAD>");
rw.println("<BODY>");
rw.println("<P>" + getServletContext().getRealPath("/sak/servlet/") + "</P>");
rw.println("</BODY>");
rw.println("</HTML>");
}
}
■画像レスポンス
// test.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class test extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
String imgfile = "sakstreets.gif";
String imgtype = "gif";
String path = "J:\\cygwin\\jakarta-tomcat-3.3.1\\webapps\\sak\\WEB-INF\\classes\\";
int rec;
res.setContentType("image/gif");
PrintWriter rw = res.getWriter();
FileInputStream fno = new FileInputStream(path + imgfile);
while ((rec = fno.read()) != -1) {
rw.print((byte) rec);
}
fno.close();
}
}
** どうも Servlet の位置がカレントにならないようである。
カレント関係の操作を調査しないといけない。(^^;
更にバイナリの正しいレスポンスも調査しよう。(^◇^;)
■リダイレクト
res.sendRedirect(res.encodeURL("http://url/???.htm"));
■JAVA Servlet、JSP 基礎編資料
■JAVA Servlet、JSP + PostgreSQL 編資料
■JAVA Servlet、JSP + Oracle9i 編資料
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料