I have spent about 14 hour trying to retrive data from my, mySQL data base. No matter what I try I cant make JSTL present data on a simple jsp (yes ive tried adding it to the pom.xml). I've tried using glassfish and tomcat both present diffrent errors. Im really lost im going and to present my JSP code and the errors.
Here is the code for the jsp using glassfish 7:
<%@ page import="java.util.List" %>
<%@ page import ="java.sql.*" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" %>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%
String id = request.getParameter("beerio@127.0.0.1");
String driver = "com.mysql.jdbc.Driver";
String connectionUrl = "jdbc:mysql://127.0.0.1:3306/";
String database = "beerio";
String userid = "root";
String password = "password";
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null; %>
<!DOCTYPE html>
<html>
<head>
<title>Beerio</title>
<link rel="stylesheet" type="text/css" href="style.css">
<div class="bg-image">
<img src="https://cdn.discordapp.com/attachments/897055640168587306/1093173959316488203 /BeerioLogo.png" alt="Background Image style=margin-top: 100px;">
</div>
<h1> Beer E-Commerce</h1>
</head>
<body>
<h1>Retrieve data from database in jsp</h1>
<table border="1">
<tr>`your text`
<td>Beer Name</td>
<td>Brewer Name</td>
<td>Style</td>
<td>Country</td>
<td>ABV</td>
<td>Price</td>
</tr>
<%
try{
connection = DriverManager.getConnection(connectionUrl+database, userid, password);
statement=connection.createStatement();
String sql ="select * from beer";
resultSet = statement.executeQuery(sql);
while(resultSet.next()){
%>
<tr>
<td><%=resultSet.getString("BEER_NAME_ID") %></td>
<td><%=resultSet.getString("BREWERY_ID") %></td>
<td><%=resultSet.getString("STYLE") %></td>
<td><%=resultSet.getString("COUNTRY") %></td>
<td><%=resultSet.getDouble("ABV") %></td>
<td><%=resultSet.getDouble("PRICE") %></td>
</tr>
<%
}
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</body>
Here are is the error that i have been trying to decipher: Startup of context /beerio7-1.0-SNAPSHOT failed due to previous errors]]
[2023-04-11T21:04:14.450128+01:00] [GF 7.0.3] [SEVERE] [] [jakarta.enterprise.web.vs.server] [tid: _ThreadID=65 _ThreadName=admin-listener(3)] [levelValue: 1000] [[ WebModule[/beerio7-1.0-SNAPSHOT]Exception sending context destroyed event to listener instance of class org.jboss.weld.module.web.servlet.WeldListener java.lang.NullPointerException: Cannot invoke "org.jboss.weld.module.web.servlet.HttpContextLifecycle.contextDestroyed(jakarta.servlet.ServletContext)" because "this.lifecycle" is null at org.jboss.weld.module.web.servlet.WeldInitialListener.contextDestroyed(WeldInitialListener.java:113) at org.apache.catalina.core.StandardContext.contextListenerStop(StandardContext.java:3980) at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4670) at com.sun.enterprise.web.WebModule.stop(WebModule.java:581) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4469) at com.sun.enterprise.web.WebModule.start(WebModule.java:551) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:935) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:917) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:644) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1795) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1483) at com.sun.enterprise.web.WebApplication.start(WebApplication.java:88) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:97) org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: Error invoking ServletContainerInitializer org.glassfish.wasp.runtime.TldScanner at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467) at com.sun.enterprise.web.WebModule.start(WebModule.java:551) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:935) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:917) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:644) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1795) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1483) at com.sun.enterprise.web.WebApplication.start(WebApplication.java:88) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:97) Caused by: org.apache.catalina.LifecycleException: Error invoking ServletContainerInitializer org.glassfish.wasp.runtime.TldScanner at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:4544) at com.sun.enterprise.web.WebModule.callServletContainerInitializers(WebModule.java:637) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4447) ... 47 more Caused by: java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TryCatchFinally at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1013) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:588) at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:922) at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:840) at org.glassfish.wasp.runtime.TldScanner.addListenerAndCreateTags(TldScanner.java:656) at org.glassfish.wasp.runtime.TldScanner.scanJar(TldScanner.java:580) at org.glassfish.wasp.runtime.TldScanner.scanJars(TldScanner.java:458) at org.glassfish.wasp.runtime.TldScanner.scanTlds(TldScanner.java:269) at org.glassfish.wasp.runtime.TldScanner.onStartup(TldScanner.java:193) at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:4539) ... 49 more Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.tagext.TryCatchFinally at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:942) at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:840) ... 61 more ]]
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: Error invoking ServletContainerInitializer org.glassfish.wasp.runtime.TldScanner java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: Error invoking ServletContainerInitializer org.glassfish.wasp.runtime.TldScanner at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:939) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:917) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:644) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1795) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1483) at com.sun.enterprise.web.WebApplication.start(WebApplication.java:88) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:97) java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: Error invoking ServletContainerInitializer org.glassfish.wasp.runtime.TldScanner at com.sun.enterprise.web.WebApplication.start(WebApplication.java:116) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:97) java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: Error invoking ServletContainerInitializer org.glassfish.wasp.runtime.TldScanner at com.sun.enterprise.web.WebApplication.start(WebApplication.java:116) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:97) Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: Error invoking ServletContainerInitializer org.glassfish.wasp.runtime.TldScanner]]`