WebDev Hell
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
package edu.slcc.asdv.caleb.programmingexam1question5;
|
||||
|
||||
import jakarta.ws.rs.ApplicationPath;
|
||||
import jakarta.ws.rs.core.Application;
|
||||
|
||||
/**
|
||||
* Configures Jakarta RESTful Web Services for the application.
|
||||
* @author Juneau
|
||||
*/
|
||||
@ApplicationPath("resources")
|
||||
public class JakartaRestConfiguration extends Application {
|
||||
|
||||
}
|
@@ -0,0 +1,20 @@
|
||||
package edu.slcc.asdv.caleb.programmingexam1question5.resources;
|
||||
|
||||
import jakarta.ws.rs.GET;
|
||||
import jakarta.ws.rs.Path;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author
|
||||
*/
|
||||
@Path("jakartaee10")
|
||||
public class JakartaEE10Resource {
|
||||
|
||||
@GET
|
||||
public Response ping(){
|
||||
return Response
|
||||
.ok("ping Jakarta EE")
|
||||
.build();
|
||||
}
|
||||
}
|
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
*/
|
||||
package pojo;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.SQLException;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author caleb
|
||||
*/
|
||||
public class DBConnection {
|
||||
public Connection connection(
|
||||
String databaseName,
|
||||
String userName,
|
||||
String password,
|
||||
String URL2
|
||||
|
||||
) //throws InstantiationException, IllegalAccessException
|
||||
{
|
||||
|
||||
|
||||
Connection con;
|
||||
try
|
||||
{// Load Sun's jdbc driver
|
||||
Class.forName(URL2).newInstance();
|
||||
System.out.println("JDBC Driver loaded!");
|
||||
}
|
||||
catch (Exception e) // driver not found
|
||||
{
|
||||
System.err.println("Unable to load database driver");
|
||||
System.err.println("Details : " + e);
|
||||
return null;
|
||||
}
|
||||
String ip = "localhost"; //internet connection
|
||||
String url = "jdbc:mysql://" + ip + ":8889/" + databaseName + "?useSSL=false";
|
||||
try
|
||||
{
|
||||
con = DriverManager.getConnection(url, userName, password);
|
||||
con.setReadOnly(false);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.err.println(e.toString());
|
||||
return null;
|
||||
}
|
||||
System.out.println("connection successfull");
|
||||
return con;
|
||||
}
|
||||
|
||||
|
||||
public void closeDatabaseConnection( Connection con)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (con != null)
|
||||
{
|
||||
con.close();
|
||||
}
|
||||
}
|
||||
catch (SQLException e)
|
||||
{
|
||||
System.out.println(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
*/
|
||||
package pojo;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.ParameterMetaData;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
/**
|
||||
*
|
||||
* @author caleb
|
||||
*/
|
||||
public class DatabaseManipulation {
|
||||
public List<Travel> listAll()
|
||||
{
|
||||
List<Travel> tavelTable = new ArrayList<Travel>();
|
||||
String databaseName = "travel";
|
||||
String userName = "java";
|
||||
String password = "]7tSXk.vIKpEjAb.";
|
||||
String URL2 = "com.mysql.jdbc.Driver";
|
||||
Connection con = new DBConnection().connection(
|
||||
databaseName, userName, password, URL2);
|
||||
PreparedStatement ps = null;
|
||||
try
|
||||
{
|
||||
if (con == null)
|
||||
{
|
||||
throw new RuntimeException("cannot connect to database");
|
||||
}
|
||||
String table = "";
|
||||
ResultSet rs = null;
|
||||
String sqlStr = "SELECT * FROM passenger";
|
||||
//prepare statement
|
||||
ps = con.prepareStatement(sqlStr);
|
||||
//execute
|
||||
rs = ps.executeQuery();
|
||||
int row = 0;
|
||||
while (rs.next())
|
||||
{
|
||||
int age = rs.getInt(1);
|
||||
int pid = rs.getInt(2);
|
||||
String pname = rs.getString(3);
|
||||
|
||||
Travel travel = new Travel(age, pid, pname);
|
||||
tavelTable.add(travel);
|
||||
row++;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ex.printStackTrace();
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
new DBConnection().closeDatabaseConnection(con);
|
||||
// close the resources
|
||||
if (ps != null)
|
||||
{
|
||||
ps.close();
|
||||
}
|
||||
}
|
||||
catch (SQLException sqle)
|
||||
{
|
||||
sqle.printStackTrace();
|
||||
}
|
||||
}
|
||||
return tavelTable;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
*/
|
||||
package pojo;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author caleb
|
||||
*/
|
||||
public class Travel {
|
||||
|
||||
private int age;
|
||||
private int pid;
|
||||
private String pname;
|
||||
|
||||
/**
|
||||
* Get the value of pname
|
||||
*
|
||||
* @return the value of pname
|
||||
*/
|
||||
public String getPname()
|
||||
{
|
||||
return pname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of pname
|
||||
*
|
||||
* @param pname new value of pname
|
||||
*/
|
||||
public void setPname(String pname)
|
||||
{
|
||||
this.pname = pname;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the value of pid
|
||||
*
|
||||
* @return the value of pid
|
||||
*/
|
||||
public int getPid()
|
||||
{
|
||||
return pid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of pid
|
||||
*
|
||||
* @param pid new value of pid
|
||||
*/
|
||||
public void setPid(int pid)
|
||||
{
|
||||
this.pid = pid;
|
||||
}
|
||||
|
||||
public Travel(int age, int pid, String pname)
|
||||
{
|
||||
this.age = age;
|
||||
this.pid = pid;
|
||||
this.pname = pname;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the value of age
|
||||
*
|
||||
* @return the value of age
|
||||
*/
|
||||
public int getAge()
|
||||
{
|
||||
return age;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of age
|
||||
*
|
||||
* @param age new value of age
|
||||
*/
|
||||
public void setAge(int age)
|
||||
{
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<persistence version="3.0" xmlns="https://jakarta.ee/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd">
|
||||
<!-- Define Persistence Unit -->
|
||||
<persistence-unit name="my_persistence_unit">
|
||||
|
||||
</persistence-unit>
|
||||
</persistence>
|
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
|
||||
bean-discovery-mode="all">
|
||||
</beans>
|
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
|
||||
|
||||
This program and the accompanying materials are made available under the
|
||||
terms of the Eclipse Public License v. 2.0, which is available at
|
||||
http://www.eclipse.org/legal/epl-2.0.
|
||||
|
||||
This Source Code may also be made available under the following Secondary
|
||||
Licenses when the conditions for such availability set forth in the
|
||||
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
|
||||
version 2 with the GNU Classpath Exception, which is available at
|
||||
https://www.gnu.org/software/classpath/license.html.
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
||||
-->
|
||||
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
|
||||
<glassfish-web-app error-url="">
|
||||
<class-loader delegate="true"/>
|
||||
<jsp-config>
|
||||
<property name="keepgenerated" value="true">
|
||||
<description>Keep a copy of the generated servlet class' java code.</description>
|
||||
</property>
|
||||
</jsp-config>
|
||||
</glassfish-web-app>
|
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<web-app version="5.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd">
|
||||
<context-param>
|
||||
<param-name>jakarta.faces.PROJECT_STAGE</param-name>
|
||||
<param-value>Development</param-value>
|
||||
</context-param>
|
||||
<servlet>
|
||||
<servlet-name>Faces Servlet</servlet-name>
|
||||
<servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>Faces Servlet</servlet-name>
|
||||
<url-pattern>/faces/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<session-config>
|
||||
<session-timeout>
|
||||
30
|
||||
</session-timeout>
|
||||
</session-config>
|
||||
<welcome-file-list>
|
||||
<welcome-file>faces/index.xhtml</welcome-file>
|
||||
</welcome-file-list>
|
||||
</web-app>
|
@@ -0,0 +1,54 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:h="jakarta.faces.html">
|
||||
<h:head>
|
||||
<title>Facelet Title</title>
|
||||
</h:head>
|
||||
<h:form>
|
||||
|
||||
<h:dataTable var="travelTable"
|
||||
value="#{supplierBean.getTrav()}" >
|
||||
<f:facet name="header"> <h:outputText value="Suppliers Table" style="font-size: 1.2em"/></f:facet>
|
||||
|
||||
<h:column>
|
||||
<f:facet name="header"> <h:outputText value="snumber" /></f:facet>
|
||||
|
||||
<h:inputText disabled ="true" value="#{supplier.snumber}"/>
|
||||
</h:column>
|
||||
|
||||
<h:column>
|
||||
<f:facet name="header"> <h:outputText value="sname" /></f:facet>
|
||||
|
||||
<h:inputText disabled ="#{!supplier.modify}" value="#{supplier.sname}"/>
|
||||
</h:column>
|
||||
<h:column>
|
||||
<f:facet name="header"> <h:outputText value="birthday" /></f:facet>
|
||||
|
||||
<h:inputText disabled ="#{!supplier.modify}" value="#{supplier.birthday}"/>
|
||||
</h:column>
|
||||
|
||||
<h:column>
|
||||
<f:facet name="header"> <h:outputText value="status" /></f:facet>
|
||||
|
||||
<h:inputText disabled ="#{!supplier.modify}" value="#{supplier.status}"/>
|
||||
</h:column>
|
||||
|
||||
<h:column>
|
||||
<f:facet name="header"> <h:outputText value="city" /></f:facet>
|
||||
|
||||
<h:inputText disabled ="#{!supplier.modify}" value="#{supplier.city}"/>
|
||||
</h:column>
|
||||
|
||||
|
||||
<h:column>
|
||||
<f:facet name="header"> <h:outputText value="update" /></f:facet>
|
||||
<h:selectBooleanCheckbox onclick="submit()"
|
||||
value="#{supplier.modify}">
|
||||
</h:selectBooleanCheckbox >
|
||||
</h:column>
|
||||
</h:dataTable>
|
||||
<h:commandButton value="Save" action="#{supplierBean.saveFromUpdate()}" />
|
||||
</h:form>
|
||||
</h:body>
|
||||
</html>
|
Reference in New Issue
Block a user