fc2ブログ

応用:足し算アプリ





数値を入れるためのテキストボックスを2つ作って、「計算」ボタンを押したらこの2つの数値の足し算をやってくれるWebアプリケーションを作ってみましょう。

サーブレットのメソッドはdoGet()だけでもいいのですが、せっかくGETとPOSTを習ったので、doGet()、doPost()、共通処理メソッドの3つを記述することにしましょう。

ファイルの作成です。「form_entry」パッケージの中に「Plus.java」、「form_entry」フォルダの中に「Plus.jsp」を作成します。


web.xmlの設定



	<servlet>
<servlet-name>Plus</servlet-name>
<servlet-class>form_entry.Plus</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Plus</servlet-name>
<url-pattern>/Plus</url-pattern>
</servlet-mapping>


いつものように、「<web-app> ~ </web-app>」の間に以下のソースを書き加えます。


JSPファイルの記述



<%@page contentType="text/html; charset=Windows-31J" %>

<html><body>

<h3>足し算アプリ</h3>

<form action="../Plus">
<input type="text" size="5" name="num1">
+
<input type="text" size="5" name="num2">
<input type="submit"value="計算">

</body></html>


1つ目のテキストボックスの名前を「num1」、2つ目のテキストボックスの名前を「num2」と設定しました。


サーブレットの記述



package form_entry;

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 Plus extends HttpServlet{

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{

System.out.println("doGet()メソッド実行");
common(request,response);
}

public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{

System.out.println("doPost()メソッド実行");
common(request,response);
}

private void common(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{

request.setCharacterEncoding("Windows-31J");

String num1str=request.getParameter("num1"); //(1)
String num2str=request.getParameter("num2");

int num1=Integer.parseInt(num1str); //(2)
int num2=Integer.parseInt(num2str);

int result=num1+num2; //(3)

response.setContentType("text/plain;charset=Windows-31J");
PrintWriter out=response.getWriter();
out.println("計算結果");
out.println(num1+"+"+num2+"="+result);
}
}


長いソースですが、中身はたいしたことはありません。common()メソッドの中身が多少変わっているだけです。

//(1) JSPファイルのnum1、num2に入力された入力パラメータを取得して、String型としています。

//(2) そのString型の文字列を数値に変換しています。便宜上、名前はJSPファイルと対応させてnum1、num2としています。

//(3) num1とnum2を足した答えを整数型のresultとして定義しました。
スポンサーサイト



タグ :

Return to page top

Comments:

Comment Form
Only inform the site author.

Trackback+Pingback:

TrackBack URL for this entry
http://servletmania.blog137.fc2.com/tb.php/18-cb874043
月別アーカイブ
カテゴリ
リンク
RSSリンクの表示
QRコード
QR