Archive by Author
DATABASE
-> settings from init.ora at creation of database
-> select * from nls_instance_parameters;
INSTANCE
-> settings from init.ora or spfile when instance was started
-> overwrites DATABASE settings
-> select * from nls_session_parameters;
SESSION
-> settings changed through alter session
-> overwrites INSTANCE settings
-> select * from nls_session_parameters;
Character Set:
select value from nls_database_parameters where parameter = ‘NLS_CHARACTERSET’;
Tagged with language, nls, Oracle.
1. Java Class TheTime.java
import java.awt.*;
import javax.swing.*;
public class TheTime {
public static void main(String args[]) {
JFrame frame = new JFrame("Time Check");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel();
Container content = frame.getContentPane();
content.add(label, BorderLayout.CENTER);
String message = "missing";
message = "foo";
label.setText(message);
frame.pack();
frame.show();
}
javac TheTime.java
java TheTime
2. Create a JAR
jar cf JNLPTime.jar TheTime.class
3. Sign the JAR
keytool -genkey -keystore myKeys -alias jdc
jarsigner -keystore myKeys JNLPTime.jar jdc
4. Create JNLP file:
< ?xml version="1.0" encoding="UTF-8"?>
< jnlp spec="1.0+" codebase="file:///var/www/JavaWebStart/jnlp/" >
< information>
< title>Time Check
< vendor>nf
< homepage href="http://www.google.de" />
< description>desc
< /information>
< offline-allowed/>
< security>
< j2ee-application-client-permissions/>
< /security>
< resources>
< j2se version="1.5+" />
< jar href="JNLPTime.jar"/>
< /resources>
< application-desc main-class="TheTime" />
< /jnlp>
5. Create HTML link
< a href=time.jnlp>Launch the application< /a>
Tagged with Java, webstart.
1. Create Connection Factory and Destination Resource in GlassFish admin console:
Resources / JMS Resources / Connection Factory -> New
JNDI-Name: jms/myFactory
Resource-Type: javax.jms.ConnectionFactory
Additional Properties: Remove username and password
Resources / JMS Resources / Destination Resources -> New
JNDI-Name: jms/myQueue
Physical Destination Name: myQueue
Resource Type: javax.jms.Queue
2. Create a new web application in NetBeans, edit index.jsp:
< title>Send Message to JMS-Queue< /title>
< form action="sendMessage">
< table cellspacing="20" >
< tbody>
< tr>
< td>Message:< /td>
< td>< input type="text" name="message" value="" width="30" />< /td>
< /tr>
< /tbody>
< /table>
< input type="submit" value="Send The message" name="send" />
< /form>
3. Create new Servlet sendMessage in web application:
package dummy;
import java.io.*;
import javax.jms.*;
import javax.naming.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class sendMessage extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try{
Context ctx = new InitialContext();
ConnectionFactory connectionFactory = (ConnectionFactory)ctx.lookup("jms/myFactory");
Queue queue = (Queue)ctx.lookup("jms/myQueue");
javax.jms.Connection connection = connectionFactory.createConnection();
javax.jms.Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
MessageProducer messageProducer = session.createProducer(queue);
TextMessage message = session.createTextMessage();
message.setText(request.getParameter("message"));
messageProducer.send(message);
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.print("Message " + request.getParameter("message") + " sent to Queue " + queue.getQueueName() +".");
out.println("");
out.println("");
out.println("");
} catch(Exception ex){
ex.printStackTrace();
}
out.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}
Tagged with glassfish, Java, jms.
1. viPlugin
Name: viPlugin
Site: viplugin.com
2. GlassFish
Plugin Site: http://ajax.dev.java.net/eclipse
GlassFish download: https://glassfish.dev.java.net/downloads/v3-final.html
Servers / New Server / GlassFish v3
Preferences / GlassFish -> start Derby with GlassFish
3. Derby
http://db.apache.org/derby/derby_downloads.html (core & ui) into eclipse/plugins
Data Source Explorer / Database Connections -> New -> Derby
New Driver Definition / Derby Client JDBC Driver
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("file.txt", true)); // true defines append to file instead of overwrite
writer.write("text into file" + "\n");
writer.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
import java.util.*;
import java.text.*;
// actual date and time
Date d = new Date();
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = f.format(d));
// other time zone
df.setTimeZone(TimeZone.getTimeZone("America/New_York");
String nowNY = f.format(d));
There are some differences between the SAX and DOM XML parser. The main difference in one sentence are:
1. SAX reads the XML document once and can react on events but it won’t save the XML structure in memory.
2. DOM reads the XML document and stores it in a tree which allows manipulation or to extract information from the XML document more than once.
SAX is easy and fast, DOM builds a tree and allows manipulation.
Tagged with dom, Java, SAX, XML.
This is how the type of a file can be determined using the extension of the file:
1
2
3
4
5
6
7
8
9
10
| public class FileType {
public static void main(String[] args) {
String fileName = "foo.pdf";
String extension = fileName.substring(fileName.lastIndexOf("."));
System.out.println("Extension: " + extension);
if (fileName.equalsIgnoreCase(".pdf")) {
System.out.println("It is a PDF-File.");
}
}
} |
1. Generating a key pair (public key + private key) for the server and store those as certificate in the keystore “ServerKeystore”
keytool -genkey -keystore ServerKeystore -alias SSLCertificate -keyalg RSA -validity 360
2. Export the public key of the server and import it into the keystore “ClientKeystore”
keytool -keystore ServerKeystore -export -alias ServerKeystore -file ServerCertificate.crt
keytool -keystore ClientKeystore -import -file ServerCertificate.cer
3. List the contents of the two keystores
keytool -list -keystore ServerKeystore -v
keytool -list -keystore ClientKeystore -v
4. Generate the Java class for the SSLServer
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Scanner;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocket;
public class SSLServer implements Runnable {
public static void main(String[] args) {
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(new SSLServer());
System.out.println("Server started on port 7777");
executor.shutdown();
}
@Override
public void run() {
try {
// create a server socket and listen on it
SSLServerSocket serverSocket = (SSLServerSocket) SSLServerSocketFactory
.getDefault().createServerSocket(7777);
SSLSocket server = (SSLSocket) serverSocket.accept();
// input and output stream
InputStream in = server.getInputStream();
OutputStream out = server.getOutputStream();
// receive data from client and echo it back
Scanner scanner = new Scanner(in);
PrintWriter printWriter = new PrintWriter(out);
String line = null;
while (scanner.hasNextLine()) {
line = scanner.nextLine();
System.out.println("Server received: " + line);
printWriter.println(line);
printWriter.flush();
}
scanner.close();
server.close();
serverSocket.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
5. Generate the Java class for the SSLClient
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
public class SSLClient {
public static void main(String[] args) {
try {
// create a client socket and connect to server
SSLSocket client = (SSLSocket) SSLSocketFactory.getDefault()
.createSocket("localhost", 7777);
// output stream to server
OutputStream out = client.getOutputStream();
// input stream for user input
InputStream in = System.in;
InputStreamReader reader = new InputStreamReader(in);
BufferedReader breader = new BufferedReader(reader);
// send data to server
PrintWriter printWriter = new PrintWriter(out);
String line = null;
while ((line = breader.readLine()) != null) {
printWriter.println(line);
printWriter.flush();
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
6. Run the SSLServer and SSLClient classes with the following JRE parameters
SSLServer: -Djavax.net.debug=all -Djavax.net.ssl.keyStore="/path/to/ServerKeystore" -Djavax.net.ssl.keyStorePassword=serverKeystorePassword
SSLClient: -Djavax.net.debug=all -Djavax.net.ssl.trustStore="/path/to/ClientKeystore" -Djavax.net.ssl.trustStorePassword=clientKeystorePassword
Using -Djavax.net.debug=all as additional JRE parameter will print some debug information.
1. Install the required package:
sudo apt-get install cryptsetup
2. Create a partition on the USB-stick:
3. Encrypt the partition:
sudo luksformat -t ext2 /dev/sdX
Creating encrypted device on /dev/sdX...
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Entering the USB-stick into Ubuntu will bring up the following window:

To edit the label of the USB-stick (by default it’s just ‘disk’) use e2label for ext filesystems and mtools for fat filesystems. Details: https://help.ubuntu.com/community/RenameUSBDrive