CSS font stacks, media style sheets & web standards

Your banner ad here

In this section

Follow Code Style

Site navigation below

This page is part of a searchable archive of the Code Style site log. Technical implementation notes that shed light on when, why and how the site has evolved since 2000.

RSS news feed Follow the latest entries to the site log.

Reverse chronology

Annual subscription for premium content, 28th November 2006

Changed the premium content subscription form to an annual subscription basis. Also created an SQL script to count basic statistics about the Help and FAQ section: 361 questions total of which 178 are premium content questions.

Actions: Ask a question about this post, seek clarification or offer a correction.

New Apache Tomcat FAQ section, 25th November 2006

Decanted Tomcat questions into a new Apache Tomcat FAQ section and added several new answers to various Java servlet and servlet container questions.

Java programming

Java servlet "how to"

Servlet containers

Servlet lifecycle

Servlet threads

Created a ServiceLogClientParser to automatically extract spam client details from service logs and emails submitted through Web forms. A sorted map of clients is stored in a TreeMap keyed by IP address and serialized between invocations to build a cumulative record. A getDenyList() method returns the current set of IP addresses formatted as Apache Deny from directive statements for insertion in .htaccess. A getClientFilterList() method returns the clients formatted for a servlet ClientFilter configuration set.

Updated the standard Client class to implement Serializable to enable storage and used the serialver tool to add a long serialVersionUID variable for forward compatibility.

D:\java\jdk150\bin\serialver
  -classpath e:/home/codestyle/build
  org.codestyle.servlet.Client
      

Refined the initial output of the ServiceLogClientParser output to produce Deny directives for parent network addresses where numerous clients share the same subnet. The parser stores the latest data and deletes the new input files before exiting.

Actions: Ask a question about this post, seek clarification or offer a correction.

Font survey and FAQ update, 18th November 2006

Updated font survey results and added new answers to the Javascript and various Java FAQ sections. Ran a link check and deleted dead links from several pages.

JSP tags & libraries

Java compiler

Java servlet "how to"

Javascript

Javascript browser

Actions: Ask a question about this post, seek clarification or offer a correction.

Unsubscribe option, 16th November 2006

Amended the Person interface to extend the Storable interface rather than SQLEntity and implemented the delete(Connection) method in the Subscriber class. Also added a removeSubscriber(Person) method to the Service interface with an implementation in SubscriptionService. Added a Delete button to the SubscriptionEditor application with a deletePerson() method to remove the person from all services, delete from the database and the JTree display. Focus returns to the first person in the list.

Actions: Ask a question about this post, seek clarification or offer a correction.

New subscriber check, 14th November 2006

Added a new getPerson(String) by email method to the SubscriptionEditor application to check whether new people are actually existing people before adding them to the subscription database. Updated the savePerson() method to make this check and select the person's record in the list of subscribers.

Actions: Ask a question about this post, seek clarification or offer a correction.

FAQ update, 11th November 2006

Published a backlog of 7 FAQ answers on various Java subjects, Javascript date comparison and basic Web publishing.

Java API

Java inheritance

Java language

Java servlet API

Java threads

Javascript

Site manager

Actions: Ask a question about this post, seek clarification or offer a correction.

Swing multi-file chooser, 4th November 2006

Created a Swing version of a file chooser panel named FileSelectJPanel and adapted various components of the LogManager application to use it in place of the original AWT FileSelectPanel. The JFileChooser is configured select multiple files. Also simplified the panel layout in AppendPanel, IncludePanel and TrimPanel to use a BorderLayout.

JFileChooser chooser = new JFileChooser();
...
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
chooser.setMultiSelectionEnabled(true);
chooser.showDialog(client, "Open");
      

Actions: Ask a question about this post, seek clarification or offer a correction.

Feed profile selection and storage, 3rd November 2006

Added a profile panel to the PingApplication class with a CardLayout to display the current feed profile. Also added methods to load profiles from a Java properties file and save new profiles. Added EventListeners to the New profile and Save profile buttons to create a new blank profile and save it. Amended the main entry point method to take a second parameter for the feed profiles property file and created an initial configuration to test.

Added an internal reference to the Vector of items in LabelledSelectList so that new items can be identified. Updated the addItem(Object) method to check whether the item is new to add it, and to select the item that was passed.

Actions: Ask a question about this post, seek clarification or offer a correction.

Previously on Code Style

Find technical implementation notes on all aspects of the Code Style site.

Add this page to your chosen social bookmarking service

Style warning - please read

Home · CSS · Java · Javascript · HTML · Help · Log