ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Javaの課題丸投げコミュのjspの画面にDBのデータを反映させたいです!

  • mixiチェック
  • このエントリーをはてなブックマークに追加
なかなかうまくいかず困っています。

下記の2つjsp と java を使って題名のように、
『初めの画面でSQL文を入力し[実行]ボタン押下すると、
画面遷移してSQL文の実行結果を出力したい』というふうに作りたいです。

※画像を見ていただくと早いかもしてません※

【課題】
DBのデータを抜き出すコード
『Select.java』というサンプルコードを下に
echo2.java と Echo2Servlet.java を使って改造するという課題です。

■<Select.java>■
というサーブレットをを実行すると、
=====================================
SELECTの結果(ここから)
1, 夏目漱石, なつめそうせき, 男
2, 芥川龍之介, あくたがわりゅうのすけ, 男
SELECTの結果(ここまで)
=====================================
と帰ってくるサンプルコードですが、

 例えば、echo2.jspのテキストボックスに「1」と記入して[実行]を押すと、
画面の結果の部分に 「夏目漱石」
と実行結果が反映されるようにしたいのです。

未熟者ですが、宜しくお願いします。




【Select.java】SQLの処理のサンプルコード
-----------------------------------------------------------------------
package chapter5;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Select {
public static void main(String[] args) throws Exception {
String driver = "org.hsqldb.jdbcDriver";
String url = "jdbc:hsqldb:hsql://localhost/";
String user = "SA";
String password = "";

Class.forName(driver);

Connection connection = null;
try {
Connection connection1 = DriverManager.getConnection(url,
user, password);
connection1.setAutoCommit(false);

select(connection1);

connection1.commit();
} finally {
if(connection!=null){
connection.close();
}
}
}

public static void select(Connection connection)
throws SQLException {

Statement statement = connection.createStatement();

String sql = "SELECT * FROM author";
ResultSet rs = statement.executeQuery(sql);

System.out.println("SELECTの結果(ここから)");

while (rs.next()) {
int userId = rs.getInt("id");
String userName = rs.getString("name");
String userKana = rs.getString("kana");
String userSex = rs.getString("sex");

System.out.println(userId + ", " + userName + ", "
+ userKana + ", " + userSex);
}

System.out.println("SELECTの結果(ここまで)");

rs.close();
statement.close();
}
}
-----------------------------------------------------------------------




【echo2.jsp】のコード
-----------------------------------------------------------------------
<%@page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page isELIgnored="false"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>入力のサンプル</title>
</head>
<body>
<h3>入力のサンプル</h3>

<form action="echo2"><br />
入力してください : <input type="text" name="m" /> <br />
<input type="submit" /> <br />
</form>

<br />

<c:if test="${ not empty message }">
入力された文字は、「${ message }」です。
</c:if>

</body>
</html>
-----------------------------------------------------------------------



【Echo2Servlet.java】のコード
-----------------------------------------------------------------------
package chapter4;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(urlPatterns = { "/echo2" })
public class Echo2Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;

@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {

request.setCharacterEncoding("UTF-8"); // このステートメントを追加

String message = request.getParameter("m");
System.out.println(message);

request.setAttribute("message", message);

RequestDispatcher dispatcher = request
.getRequestDispatcher("echo2.jsp");
dispatcher.forward(request, response);
}
}
------------------------------------------------------------------------

コメント(0)

mixiユーザー
ログインしてコメントしよう!

Javaの課題丸投げ 更新情報

Javaの課題丸投げのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング