どこまできちんとまとめたいが
posgre構築手順
近日公開
eclipseでjboss使う方法
近日公開
現在のpom.xml(Eclipseにあるもの)
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.redhat.sseto</groupId>
<artifactId>example</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<version.server>8.0.0.GA-redhat-00009</version.server>
<version.bom.ee>${version.server}</version.bom.ee>
<version.plugin.wildfly>4.1.1.Final</version.plugin.wildfly>
<version.plugin.war>3.3.2</version.plugin.war>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>10.0.0</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jboss.logging/jboss-logging -->
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
</dependency>
</dependencies>
<build>
<finalName>example</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<encoding>${project.encoding}</encoding>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${version.plugin.war}</version>
</plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>${version.plugin.wildfly}</version>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.bom</groupId>
<artifactId>jboss-eap-ee-with-tools</artifactId>
<version>${version.bom.ee}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>jboss-public-maven-repository</id>
<name>JBoss Public Maven Repository</name>
<url>https://repository.jboss.org/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
<layout>default</layout>
</repository>
<repository>
<id>redhat-ga-maven-repository</id>
<name>Red Hat GA Maven Repository</name>
<url>https://maven.repository.redhat.com/ga/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
<layout>default</layout>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>jboss-public-maven-repository</id>
<name>JBoss Public Maven Repository</name>
<url>https://repository.jboss.org/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>redhat-ga-maven-repository</id>
<name>Red Hat GA Maven Repository</name>
<url>https://maven.repository.redhat.com/ga/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
jbossデータソース作成手順は以下を参照
管理CLI?にログイン
[root@rhelsub999 bin]# ./jboss-cli.sh --connect --controller=localhost:9990
/tmpに事前にjdbcドライバ配置済み
module add --name=org.postgres --resources=/tmp/postgresql-42.7.7.jar --dependencies=javax.api,javax.transaction.api
JDBCドライバ設定?追加
/subsystem=datasources/jdbc-driver=postgres:add(driver-name=postgres,driver-module-name=org.postgres,driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource, driver-class-name=org.postgresql.Driver)
データソース追加
data-source add --name=PostgresDS --jndi-name=java:/PostgresDS --driver-name=postgres --connection-url=jdbc:postgresql://localhost:5532/instance1 --user-name=kenken --password=kenken
データソースでの接続テスト実施
[standalone@localhost:9990 /] /subsystem=datasources/data-source=PostgresDS:test-connection-in-pool
{
"outcome" => "success",
"result" => [true]
}
前回エビデンス
data-source add --name=PostgresDS --jndi-name=java:/PostgresDS --driver-name=postgres --connection-url=jdbc:postgresql://192.168.2.169:5632/add3 --user-name=kenken --password=kenken
サーブレットのデータソースプログラム①
cookie確認用
package example;
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.jboss.logging.Logger;
@WebServlet("/HelloWorld")
public class HelloWorlsServlet extends HttpServlet {
static String PAGE_HEADER = "<html><head><title>helloworld</title></head><body>";
static String PAGE_FOOTER = "</body></html>";
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
Logger logger = Logger.getLogger(HelloWorlsServlet.class);
logger.warn("こんにちは、世界 at Warn");
logger.warn("こんにちは、世界 at Warn", new Exception());
logger.warnv("こんにちは、{0} {1} at Warn", "世界", "!!");
logger.warnf("こんにちは、%s %s at Warn", "世界", "!!");
Cookie cookie = new Cookie("CookieName1", "one");
cookie.setValue("CookieName1");
// 90日間有効なCookie
cookie.setMaxAge(60 * 60 * 24 * 90);
resp.addCookie(cookie);
PrintWriter writer = resp.getWriter();
writer.println(PAGE_HEADER);
writer.println("<h1> Hello World! </h1>");
writer.println(PAGE_FOOTER);
writer.close();
}
}
データベース接続用
package example;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@WebServlet("/HelloWorld3")
public class HelloWorlsServlet3 extends HttpServlet {
static String PAGE_HEADER = "<html><head><title>helloworld</title></head><body>";
static String PAGE_FOOTER = "</body></html>";
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html; charset=UTF-8");
Cookie cookie = new Cookie("CookieName1", "one");
cookie.setValue("CookieName1");
// 90日間有効なCookie
cookie.setMaxAge(60 * 60 * 24 * 90);
resp.addCookie(cookie);
PrintWriter writer = resp.getWriter();
writer.println("<html>");
writer.println("<head>");
writer.println("<title>DB2 Connect Sample</title>");
writer.println("</head>");
writer.println("<body>");
writer.println("<table border=\"1\">");
writer.println("<tr><td>ID</td><td>DOC</td></tr>");
//writer.println(PAGE_HEADER);
//writer.println("<h1> Hello World! </h1>");
//writer.println(PAGE_FOOTER);
//writer.close();
try {
Context ctx = new InitialContext();
//コネクションプールからデータソースを取得
DataSource ds = (DataSource)ctx.lookup("java:/PostgresDS");
Connection con = ds.getConnection();
Statement stmt = con.createStatement();
//rssテーブルを検索し、結果を表示
ResultSet rs = stmt.executeQuery("select id,name from COUNTRIES");
while(rs.next()) {
writer.println("<tr><td>");
writer.println(rs.getString("id"));
writer.println("</td><td>");
writer.println(rs.getString("name"));
writer.println("</td></tr>");
}
rs.close();
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
writer.println("</table>");
writer.println("</body>");
writer.println("</html>");
}
}
jbossユーザ、グループ情報
add-user.bat実行後に
以下のファイルに存在します。
ユーザー 'kenken' をファイル 'C:\pleiades\2025-09\jboss-eap-8.0\standalone\configuration\mgmt-users.properties' に追加しました。
ユーザー 'kenken' をファイル 'C:\pleiades\2025-09\jboss-eap-8.0\domain\configuration\mgmt-users.properties' に追加しました。
グループ '' のユーザー 'kenken' をファイル 'C:\pleiades\2025-09\jboss-eap-8.0\standalone\configuration\mgmt-groups.properties' に追加しました
グループ '' のユーザー 'kenken' をファイル 'C:\pleiades\2025-09\jboss-eap-8.0\domain\configuration\mgmt-groups.properties' に追加しました
続行するには何かキーを押してください . . .