javaを使ってログイン機能の実装をしています。
サーバーで実行をかけたところHTTPSステータス500が出現します。
なんとかして解決できれば...!
####考えられる理由
0.
エラーを見るとラムダ式の記述法がeclipseのバージョンによって使えないと書いてあり、
ここに問題がありそう。
classをjspに変換することができませんと表示されているのでweb.xmlもしくはサーブレットに問題があるのかと....
#実行環境
java14,
tomcat,
apache,
eclipse(version2019-12 (4.14.0))
##実行エラー
![
#フォルダー階層
#問題箇所と考えるファイル
loginJSP
1<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2<%@ page import="java.util.Objects"%> 3<%@ page import="java.util.List"%> 4<%@ page import="java.util.function.Function"%> 5<%@ page import="skillcheck.bean.ResponseBean"%> 6<%@ page import="skillcheck.bean.EmployeeBean"%> 7<%@ page import="skillcheck.logger.Logger"%> 8 9<% 10 11 Function<HttpServletRequest, Object[]> rmdGetResponseInfo = (rmdRequest) -> { 12 // request: responseBean 13 ResponseBean rb = (ResponseBean) request.getAttribute("responseBean"); 14 int requestStatus = 0; 15 String message = ""; 16 String empId = ""; 17 if (Objects.nonNull(rb)) { 18 requestStatus = rb.getRequestStaus(); 19 message = rb.getMessage(); 20 EmployeeBean emp = rb.getEmplyeeBeanList().stream().findFirst().orElse(null); 21 if (Objects.nonNull(emp)) empId = emp.getEmpId(); 22 } 23 return new Object[]{requestStatus, message, empId}; 24 }; 25 26 ResponseBean responseBean = null; 27 // エラーメッセージ表示用 28 String message = ""; 29 int requestStatus = 0; 30 String empId = ""; 31 32 try { 33 if (Objects.isNull(session) || session.isNew()) { 34 Logger.log(new Throwable(), "セッションなし"); 35 Object[] objects = rmdGetResponseInfo.apply(request); 36 requestStatus = (int) objects[0]; 37 message = (String) objects[1]; 38 empId = (String) objects[2]; 39 } else { 40 Logger.log(new Throwable(), "セッションあり"); 41 // session: redirect 42 final String redirect = (String) session.getAttribute("redirect"); 43 if (Objects.nonNull(redirect)) { 44 Logger.log(new Throwable(), "redirect = " + redirect); 45 message = redirect; 46 session.invalidate(); 47 } 48 49 if (requestStatus < 2 && message.isEmpty()) { 50 51 ResponseBean rb = (ResponseBean) session.getAttribute("responseBean"); 52 if (Objects.nonNull(rb)) { 53 requestStatus = rb.getRequestStaus(); 54 message = rb.getMessage(); 55 EmployeeBean emp = rb.getEmplyeeBeanList().stream().findFirst().orElse(null); 56 if (Objects.nonNull(emp)) { 57 empId = emp.getEmpId(); 58 } 59 } 60 } 61 Logger.log(new Throwable(), "message = " + message); 62 } 63 } catch (Exception e) { 64 Logger.log(new Throwable(), e); 65 } 66%> 67<!DOCTYPE html> 68<html> 69<head> 70<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 71 72<link rel="stylesheet" type="text/css" href="css/common.css"> 73 74<link rel="stylesheet" type="text/css" href="css/login.css"> 75<script type="text/javascript" src="js/common.js"/></script> 76<title>ログイン</title> 77</head> 78<body> 79 <input id="hiddenDialog" type="hidden" value="<%=requestStatus == 2 ? message : ""%>"></input> 80 <h2>ログイン</h2> 81 <div class="div-login-form"> 82 <% if (requestStatus < 2 && !message.isEmpty()) { %> 83 84 <label class="erro-message" style="color:red; font-size:10px;"></label> 85 <br> 86 <% } %> 87 88 <form action="/MVC_Task/employee" method="post"> 89 <div class="div-input-flex-area"> 90 <div> 91 <label>社員番号 : </label> 92 <input id="empId" type="text" name="empId" maxlength="5" value="<%=empId%>"><br> 93 </div> 94 <div> 95 <label>パスワード: </label> 96 <input id="password" type="password" name="password"><br> 97 </div> 98 </div> 99 <div class="div-button-area"> 100 <input type="hidden" name="sender" value="/login.jsp"></input> 101 <button id="btn-login" class="btn-login" name="requestType" value="login">ログイン</button> 102 </div> 103 </form> 104 </div> 105</body> 106</html>
webXML
1<?xml version="1.0" encoding="UTF-8"?> 2<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://xmlns.jcp.org/xml/ns/javaee" 4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" 5 id="WebApp_ID" version="4.0"> 6 <display-name>MVC_Task</display-name> 7 <servlet> 8 <servlet-name>employee</servlet-name> 9 <servlet-class>skillcheck.controller.EmployeeManagementController</servlet-class> 10 </servlet> 11 <servlet-mapping> 12 <servlet-name>employee</servlet-name> 13 <url-pattern>/employee</url-pattern> 14 </servlet-mapping> 15 <session-config> 16 <session-timeout>30</session-timeout> 17 </session-config> 18 <welcome-file-list> 19 <welcome-file>login.jsp</welcome-file> 20 </welcome-file-list> 21</web-app>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。