HTTPステータス500を解決したい。
ここに質問の内容を詳しく書いてください。
ログイン用のJSPを作るために、JSPファイルとサーブレットを作っている最中です。
発生している問題・エラーメッセージ
Type Exception Report
メッセージ /login.jsp (line: [4], column: [3]) 無効な指示子です
説明 The server encountered an unexpected condition that prevented it from fulfilling the request.
例外
org.apache.jasper.JasperException: /login.jsp (line: [4], column: [3]) 無効な指示子です
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:292)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:98)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:512)
org.apache.jasper.compiler.Parser.parseFileDirectives(Parser.java:1797)
org.apache.jasper.compiler.Parser.parse(Parser.java:141)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:127)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:202)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:385)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:362)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:346)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:383)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
該当のソースコード
JSP
1ソースコード 2<%@ page language="java" contentType="text/html; charset=UTF-8" 3 pageEncoding="UTF-8"%> 4<jsp:useBean id="lb" class="bean.LoginBean" scope="request"></jsp:useBean> 5<%@import="java.util.List" %> 6<%@ page import="java.util.Map" %> 7 8<!DOCTYPE html> 9<html> 10<head> 11<meta charset="UTF-8"> 12<title>薬品在庫管理システム</title> 13<link rel="stylesheet" href="css/login.css"> 14</head> 15 </div class="content"> 16 <h2>薬品在庫管理システム</h2> 17 <h3>ログイン</h3> 18 19<body> 20 21 22</body> 23</html> 24 25 26 27 28### 試したこと 29 30ネットにて、ステータス500を解決したい、という質問をしていた方たちの解決方法を参考にしたが、どれも該当しなかった。構文を見直したが問題はなく、エラーメッセージも表示されていない。 31 32### 補足情報(FW/ツールのバージョンなど) 33 34使用ツール 35eclips 36tomcat9.0 37 38サーブレット 39 40package bean; 41 42import java.lang.reflect.InvocationTargetException; 43import java.sql.Connection; 44import java.sql.Driver; 45import java.sql.DriverManager; 46import java.sql.PreparedStatement; 47import java.sql.ResultSet; 48import java.sql.SQLException; 49 50public class LoginBean { 51 //フィールド 52 private String id = ""; 53 private String pass = ""; 54 private String msg = ""; 55 56 //getter,setter 57 public String getId() { 58 return id; 59 } 60 public void setId(String id) { 61 this.id = id; 62 } 63 public String getPass() { 64 return pass; 65 } 66 public void setPass(String pass) { 67 this.pass = pass; 68 } 69 public String getMsg() { 70 return msg; 71 } 72 public void setMsg(String msg) { 73 this.msg = msg; 74 } 75 76 //チェック用メソッド 77 public boolean check() { 78 //必須チェック 79 if(id == "" || pass == "") { 80 msg = "ID,パスワードは必須入力項目です。"; 81 return false; 82 83 } 84 85 //--------存在チェック-------- 86 //JDBCドライバ 87 88 try { 89 Driver.class.getDeclaredConstructor().newInstance(); 90 Connection con = DriverManager.getConnection("jdbc:mariadb://localhost/yakuzo2","root",""); 91 92 StringBuilder sql = new StringBuilder(); 93 sql.append("select count(*) as cnt"); 94 sql.append("from mst_shain"); 95 sql.append("where"); 96 sql.append("shain_code = ?"); 97 sql.append("and password = ?"); 98 sql.append("and login_flg = '0' "); 99 sql.append("and delete_flg = ''"); 100 101 //PreparedStatement 102 PreparedStatement ps = con.prepareStatement(sql.toString()); 103 104 //パラメーターセット 105 ps.setString(1, id); 106 ps.setString(2, pass); 107 108 //実行 109 ResultSet rs = ps.executeQuery(); 110 rs.next(); 111 112 int count = rs.getInt("cnt"); 113 rs.close(); 114 ps.close(); 115 con.close(); 116 117 if(count == 0) { 118 119 msg = "このID,パスワードの組み合わせで有効なユーザーは存在しません。"; 120 121 122 } 123 124 } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException 125 | NoSuchMethodException | SecurityException | SQLException e) { 126 // TODO 自動生成された catch ブロック 127 e.printStackTrace(); 128 129 } 130 return false; 131 132 133 } 134}
あなたの回答
tips
プレビュー