IpCheckのサーブレットファイルを実行し、ipEntryでパソコンの管理番号を入力し、データベースにアクセスして、ipアドレスを引き出して、ipResultで出力するだけのプログラムを作ろうとしています。
ipEntryにpcのidを打ち込んでも、画面が遷移せずに困っています。
どうすれば、データベースからipアドレスを引っ張り出して表示することができるでしょうか
ipEntry.jsp
Java.jsp
1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3<!DOCTYPE html> 4<html> 5<head> 6<meta charset="UTF-8"> 7<title>IP調査</title> 8</head> 9<body> 10 <h1>IP調査</h1> 11 <form action="/ipChecker/IpCheck" method="get"> 12 PCのID: <input type="text" name="ip"> 13 <br> 14 <input type="submit" value="送信"> 15 </form> 16</body> 17</html>
ipResult.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="model.IP" %> <% IP ip = (IP) request.getAttribute("ipList"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ip結果</title> </head> <body> <h1>ip結果</h1> PCのID:<%= ip.getIpAddress() %><br> IPアドレス:<%= ip.getPcID() %> <a href="/ipchecker/ipEntry">戻る</a> </body> </html>
サーブレット
ipCheck.java
package servlet; import java.io.IOException; import java.util.List; 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; import model.IP; import model.IpSelect; @WebServlet("/IpCheck") public class IpCheck extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/ipEntry.jsp"); dispatcher.forward(request, response); } protected void dopost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ IpSelect ipSelect = new IpSelect(); List<IP> ipList = ipSelect.execute(); request.setAttribute("ipList", ipList); RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/ipResult.jsp"); dispatcher.forward(request, response); } }
モデル
IpSelect.java
package model; import java.util.List; import dao.IpDAO; public class IpSelect { public List<IP> execute(){ IpDAO dao = new IpDAO(); List<IP> ipList =dao.findAll(); return ipList; } }
IP.java
package model; import java.io.Serializable; public class IP implements Serializable{ private String pcID; private String ipAddress; public IP() {} public IP (String pcID,String ipAddress) { this.pcID = pcID; this.ipAddress=ipAddress; } public String getIpAddress() { return ipAddress; } public void setIpAddress(String ipAddress) { this.ipAddress = ipAddress; } public String getPcID() { return pcID; } public void setPcID(String pcID) { this.pcID = pcID; } }
IpDAO
package dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import model.IP; public class IpDAO{ private final String JDBC_URL = "jdbc:mysql://localhost:3306/pcm?useUnicode=true&\r\n" + "useJDBCCompliantTimezoneShift=true&\r\n" + "useLegacyDatetimeCode=false&\r\n" + "serverTimezone=UTC"; private final String DB_USER = "root"; private final String DB_PASS = "y21password"; public List<IP> findAll() { List<IP> ipList = new ArrayList<>(); try (Connection conn = DriverManager.getConnection(JDBC_URL, DB_USER, DB_PASS)){ String sql = "SELECT pc_id, ip_address from ip_address_revised"; PreparedStatement pStmt = conn.prepareStatement(sql); ResultSet rs = pStmt.executeQuery(); while (rs.next()) { String id = rs.getString("pc_id"); String ip = rs.getString("ip_address"); IP ipbeans = new IP(id,ip); ipList.add(ipbeans); } } catch (SQLException e) { e.printStackTrace(); return null; } return ipList; } }
Microsoft Windows [Version 10.0.17763.737]
Widnows10 Pro version 1809
mysql Ver 8.0.17 for Win64 on x86_64 (MySQL Community Server - GPL)
mysql-connector-java-8.0.17.jar
java version "1.8.0_221"
Eclipse
Version: 2019-09 R (4.13.0)
Build id: 20190917-1200
C:\Program Files (x86)\Java\jre1.8.0_221
C:\Program Files (x86)\Java\jdk1.5.0
初めてのJAVAなので、至らない点多いと思いますが、社内で教えてくれる人もいないため、よろしくお願いいたします。
足りない情報ありましたらご連絡ください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/04 03:58
2019/11/04 04:17
2019/11/11 04:32
2019/11/11 06:33
2019/11/11 15:42
2019/11/13 06:23