U bent hier: Home > Blog > Java

Secure web application with SSL on a tomcat server


Johan Tuitel, 23 januari 2013

Important note:
I used the Spring project, created in the blogs:

  • How to use Spring and Ibatis in Eclipse
  • How to use Spring Webflow in Eclipse

Part 1 create keystore
1: start windows console
2: go to the bin directory of the used jdk in you’re project.
3: enter: keytool -genkey -alias tomcat -keyalg RSA(see image or desciption)

desciption
1: password: welcome
2: re-enter: welcome
1: first and last name: johan tuitel
2: organization unit: consulting
3: organization: transfer-solutions
4: city: leerdam
5: province: zuid-holland
6: counttry code: nl
7: yes
8: hit enter when asked for key password for tomcat

Part 2 configure server.xml file of the tomcat server
1: in eclipse we open the server.xml file of the tomcat server

2: insert xml code under the commented connector with port 8443
<Connector port=”8443″ protocol=”org.apache.coyote.http11.Http11Protocol” SSLEnabled=”true” maxThreads=”150″ scheme=”https” secure=”true” keyAlias=”tomcat”
clientAuth=”false” sslProtocol=”TLS” keystorePass=”welcome”/>

Part 3 add security constraint in the web.xml file of the Spring project
1: open the web.xml op the project and scroll to the end of the file
2: insert this xml code just before the tag
<security-constraint>
<web-resource-collection>
<web-resource-name>Secure Nationale Vergiftingen Informatie Centrum Application</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

Part 4 run project
The web application in now secure

How to use Spring Webflow in Eclipse


Johan Tuitel, 14 januari 2013
Dit is deel 2 van een reeks van 2 artikelen in de serie How to use Spring and Ibatis in Eclipse

Important note:
Read the blog How to use Spring and Ibatis in Eclipse part 1 as a starting point for this blog, because we need the created project for this blog.

1: Install the highlighted libraries we need for Spring webflow

(meer…)

How to use Spring and Ibatis in Eclipse


Johan Tuitel, 8 januari 2013
Dit is deel 1 van een reeks van 2 artikelen in de serie How to use Spring and Ibatis in Eclipse

Part 1: create a default project

1 start eclipse
2 make a new Dynamic Web Project

  • I called this project blog, if you use a different name, check the configuration files and rename blog by your project name.
  • Apache Tomcat v6.0
  • Dynamic web module version 2.5
  • Default configuration
  • Finish

3 empty contextroot of the project

  • double click on tomcat server
  • go to the modules tab
  • select the module > edit > clean path

4: make a index.jsp under the WebContent map

  • insert hello world in the body
  • run project on the tomcat server>

(meer…)

ADF: Using the ApplicationModule to interact with the Database


Johan Tuitel, 24 december 2012

Often in ADF webapplications, we need to make a custom interaction with the Database, because we need to know some specific information or do a custom update, etc. To do some interaction we need to prepare the application in 5 steps.

to explain the interaction, we want to get the name of the user as example.

1. Open the ‘ApplicationModuleName’Service.java class and add a java method

String userName(Number id);

(meer…)

ADF 11g: empty a field value


Johan Tuitel, 14 december 2012

In the application i was working on we need to empty a fieldvalue when needed.

This can be done in three steps

1. get the current instance of the FacesContext

FacesContext facesContext = FacesContext.getCurrentInstance();

2. get the valuebinding of the attribute

ValueBinding demoVB = facesContext.getApplication().createValueBinding(“#{bindings.demoAttribute.inputValue}”);

3. empty the value of the attribute

demoVB.setValue(facesContext, null);

 example

  FacesContext facesContext = FacesContext.getCurrentInstance();
ValueBinding demoVB = facesContext.getApplication().createValueBinding(“#{bindings.demoAttribute.inputValue}”);
demoVB.setValue(facesContext, null);

Hibernate Search: AND functionaliteit


Erik Pelgrim, 19 april 2012
Dit is deel 4 van een reeks van 4 artikelen in de serie Hibernate Search

Mijn laatste blogpost “Hibernate Search: Aantal hits” ging over het tonen van het totaal aantal resultaten bij een persoon in de zoekfunctie. Een volgend probleem doet zich voor als in het beknopte overzicht de gebruiker de specifieke resultaten van een medewerker wil zien. Indien hij op de knop “details” klikt, ziet hij wel alle resultaten, maar moet hij daarin alsnog de specifieke medewerker opzoeken. Dit is niet echt gebruiksvriendelijk.

Het toevoegen van een zoekterm biedt hier een oplossing voor. Door AND en Medewerker te selecteren en in de zoekterm ‘Pelgrim’ in te vullen blijven alleen de resultaten van Erik Pelgrim over (screenshot). (meer…)

Hibernate Search: Aantal hits


Erik Pelgrim,
Dit is deel 3 van een reeks van 4 artikelen in de serie Hibernate Search

Mijn vorige post over Hibernate Search eindigde dat je zoekresultaten mbt tot verschillende Cv-onderdelen samen in een collectie kan bijhouden zodat ze ook samen in een resultaten tabel op het scherm komen.

Mocht je echter op een veelvoorkomende term zoeken komt er een erg lange lijst uit met veel medewerkers met per medewerker ook nog veel resultaten. Aangezien er maar een stuk of 10-20 resultaten tegelijk op het scherm komen, zie je van veel medewerkers helemaal niets en van sommige juist heel veel (zie screenshot). Dit geeft geen duidelijk overzicht van je zoekresultaat. Een oplossing hiervoor zou zijn om het totale aantal resultaten per medewerker te tonen. Dit is in Java op te lossen door een andere collectie aan te maken: een HashMap, gebaseerd op name value pairs, waar je per medewerker het aantal hits (resultaten) opslaat. (meer…)

Hibernate Search: zoeken op meerdere onderdelen


Erik Pelgrim,
Dit is deel 2 van een reeks van 4 artikelen in de serie Hibernate Search

In mijn vorige blogpost “Snel zoeken met Hibernate Search” werd Hibernate Search gepromoot, een technologie waarmee in het interne CV systeem genaamd Tracsy snelle zoekfunctionaliteit gemaakt is. In deze blogpost bespreek ik een zelfgeschreven uitbreiding op de basisfunctionaliteit.

Hibernate Search biedt alleen de mogelijkheid om op 1 java klasse tegelijkertijd te zoeken. Aangezien in Tracsy de java-objecten 1 op 1 overeenkomen met de CV onderdelen en database tabellen, kan er in principe maar op 1 onderdeel tegelijkertijd gezocht worden. Hibernate Search biedt wel de mogelijkheid om op meerdere velden (database kolommen) ineens te zoeken. Voor een Cv houdt dit in dat bijvoorbeeld op de velden “activiteit”, “omgeving” en “methodieken” van een projectervaring tegelijkertijd gezocht kan worden. Als resultaat van de zoekopdracht wordt een lijst met projectervaring objecten teruggegeven. Omdat alle Cv onderdelen een veld medewerker (via een foreign key) bevatten, kan bij alle zoekresultaten de naam van de betreffende medewerker getoond worden. (meer…)

Snel zoeken met Hibernate Search


Erik Pelgrim,
Dit is deel 1 van een reeks van 4 artikelen in de serie Hibernate Search

Intern bij Transfer is er een applicatie genaamd Tracsy waar alle medewerkers hun kennis en ervaring bijhouden. Dit is op de eerste plaats bedoeld om snel een actuele CV uit te kunnen draaien en naar de klant te sturen.

In een bedrijf als Transfer met meer dan 100 medewerkers levert dit meer informatie op dan managers en recruiters ten alle tijden paraat kunnen houden. Dit heeft als gevolg dat als er een opdracht binnenkomt niet altijd meteen met zekerheid ingeschat kan worden of iemand met de juiste kennis hiervoor beschikbaar is. Dit vraagt om functionaliteit waarin snel en eenvoudig personen opgezocht kunnen worden met specifieke kennis. Dit is in de applicatie gebouwd met Hibernate Search. (meer…)

ADF custom attribute validation in the Impl-class


Johan Tuitel, 17 februari 2012

The standard validation in ADF application is done by setting the attribute required. The disadvantage of this functionality, is that the validation is to early and not validating when a form is filled in. To do this we need to customize the validating of our application.

We can do this by validating the value in the Impl class of the Entity you use in the page.

1. Replace the required=”true” attribute on the input component into a showRequired=”true”, this can by jheadstart template or manually.

2. Open the Impl class and override the validateEntity() method

  protected void validateEntity() {
} (meer…)

Eerdere artikelen »