Skip to main content
View by: Most Recent | Topic | Community | Webloggers   
Monthly Archives:    

Blogs by topic: Blogs

• Accessibility • Ajax • Blogging • Business • Community 
• Databases • Deployment • Distributed • Eclipse • Education 
• EJB • Extreme Programming • Games • GlassFish • Grid 
• GUI • IDE • Instant Messaging • J2EE • J2ME 
• J2SE • Jakarta • JavaFX • JavaOne • Jini 
• JSP • JSR • JXTA • LDAP • Linux 
• Mobility • NetBeans • Open Source • OpenSolaris • OSGi 
• P2P • Patterns • Performance • Porting • Programming 
• Research • RMI • RSS Feeds • Search • Security 
• Servlets • Struts • Swing • Testing • Tools 
• Virtual Machine • Web Applications • Web Design • Web Development Tools • Web Services and XML 


Servlets

Asynchronous operation was introduced in Servlet 3.0. ServletRequest#startAsync is used to put the request into asynchronous mode. A thread need to be created implicitly or explicitly (see here for an example). Servlet 3.1, JSR 340 includes clarifications in asynchronous area. Besides Servlet 3,1, Concurreny Utilities for Java EE 1.0, JSR 236 is introduced in Java EE 7. JSR 236 provides a...
on Jun 6, 2013
Update: In Servlet 3.0, the behavior of using response is undefined after invoking #complete or #dispatch. In Servlet 3.1, it is clarified that AsyncContext#getResponse will throw IllegalStateException. The blog has been updated for this. Asynchronous operation is supported in Servlet 3.0. I have discussed startAsync in my previous blog, startAsync in Servlet 3.0. In this blog, I will discuss...
on May 14, 2013
Update: Invoke WebConnection#close when there is an error. Servlet 3.1 Specification (JSR 340) is almost ready for the release. One of the new features is the support for protocol upgrade. HTTP protocol upgrade was introduced in HTTP 1.1 (RFC 2616): The Upgrade general-header allows the client to specify what additional communication protocols it supports and would like to use if the server...
on May 7, 2013
Have you wanted to do something with asynchronous I/O? I did. After doing some work with Node.js, I wanted to find a way to get some of the goodness of its programming model for Java. The Acteur project is the result - a framework for building scalable, asynchronous web applications using Netty + Guice - was the result. The programming model is a little unusual - you treat constructors as...
on Apr 7, 2013

Security

HTML5 brings new opportunities – for developers and for attackers. Here you will see two examples of how an attacker could abuse HTML5 and how you as a developer could prevent this (or not). These are only two of many new or improved attacks on web clients. I chose them for two reasons: the first is a new attack, first described in December 2011 and not widely known to developers. The second...
on Jun 4, 2013
Servlet 3.1 Specification (JSR 340) and Java Authorization Contract for Containers (JSR 115) MR3 are almost ready for release. Besides "*", the role-name "**" is introduced in the above two specifications. In a nutshell, "*" means any role defined in web.xml and "**" means any authenticated user. Prior to Servlet 3.1, web containers use proprietary mechanisms to add security-constraints for any...
on Apr 19, 2013
Servlet 3.1 Specification (JSR 340) is almost ready for the release. Several new security features have been added in this version of Servlet specification. In this blog, I will explain one of the security features, namely deny-uncovered-http-methods. Let us take a look at a simple security-constraint in web.xml as follows: <web-app xmlns="http://www.w3.org/2001/XMLSchema" ...
on Apr 19, 2013
Servlet 3.1 was in Public Review in Janurary 2013. And it is in Proposed Final Draft now. Most of the new features are related to security. In this following, I will highlight features since Servlet 3.1 Public Review: add new API javax.servlet.http.Part#getSubmittedFileName add new API javax.servlet.ServletContext#getVirtualServerNameThis API allows a JASPIC module to be registered in a Servlet...
on Mar 18, 2013

Databases

Pig from a Bird's Eyeview by M. Tim Jones, author of Pig in Action Today, we are being inundated with data. So much so, that IBM estimates that in 2012, 2.5 quintillion bytes of information are generated every day. That's a million trillion bytes of data, more data than we can fathom and considerably more than we can easily process. Online, every web-page we visit, every link we click, every...
on May 20, 2013
The applications have grown together with the man dream to get more and more information, then more application have been emerging and the man had became hostage of the application. For example we can recognized the evolution between man and machine: In the first time: Many men to just one machine ( like mainframe's age) then one man to one machine ( in to Personal computer era) and...
on Mar 17, 2013

Web Applications

Web Forms is one of the exciting new features of the recently released BPM 11.1.1.7. To really embrace the power of Web Forms, one must understand Forms Rules, which can give your forms dynamic behavior, such as showing a field or calculating a sum total. In this example, I'm going to show you how to use Form Rules to dynamically populate a dropdown (or list). Step 1: Create the Web Form Using...
on May 3, 2013

Web Services and XML

By default, all connections to the Oracle Cloud are encrypted: The Problem Browsers automatically import the necessary certificates, however, trying to access these services from a Java client, you will not be so successful. Take this Java Client: import com.sun.jersey.api.client.Client;import com.sun.jersey.api.client.WebResource;import com.sun.jersey.api.client.config.ClientConfig;import com....
on May 2, 2013

JSR

In this blog entry I outline the steps necessary to deploy JAX-RS (JSR 311) RESTful web services to the Oracle Cloud. We'll be using Jersey, which is the reference implementation for JAX-RS, and JDeveloper, which is my primary Java IDE. Step 1. Create a Jersey Library in JDeveloper Download the latest version of jersey-bundle.jar, which at the time of this writing is version 1.17.1. Start...
on Apr 30, 2013
Update: One should not use response in AsyncListener#onComplete. Only print debug in this example. Servlet 3.1 (JSR 340) is almost ready for the release. One of the new features is the support for non-blocking IO. ReadListener and WriteListener are introduced to allow non-blocking processing in Servlet. Non-blocking IO can only be used in async (defined in Servlet 3.0) or the upgrade mode. We can...
on Apr 16, 2013
I'm very proud to announce that in order to be fully compatible with the new multi-core era, we (the lambda expert group) have decided to deprecate the class syntax in Java 8 and to remove it in Java 9. With the introduction of lambda, classes are not needed anymore and are now seen as stimagata from the past. so instead of writing a class User like this: public class User {  private final...
on Apr 1, 2013

Swing

Creating a JavaFX 2 (or should I say FX8) application can be a time consuming task. We all got used to powerful frameworks helping us creating such applications based on Swing (NetBeans Platform) or SWT (Eclipse). There even was an attempt at getting this standardized in Java for Swing - JAF anyone? So where is such an application framework based on JavaFX 2/8, which leverages all the nice...
on Mar 24, 2013

Deployment

Kanban Principles by Marcus Hammarberg and Joakim Sunden, author of Kanban in Action Kanban is an approach to software development based on the principles of lean. It has quickly been picked up by many businesses around the world. You can pick it up too! This article, based on chapter 2 of Kanban in Action, defines kanban, introduces kanban principles, and gets you started using kanban. In...
on Mar 21, 2013

Programming

Atlassian has made some seriously great products, for example the project tracker JIRA. We recently upgraded our rather archaic version of JIRA at Magnolia to the latest and greatest offering. Everyone in the team found something in this upgrade. Some of us were desperate to use GreenHopper, others were looking forward to a better LDAP integration, and my personal favourite was the new REST API...
on Feb 20, 2013

J2EE

If you have wanted JSF not to store any state now is your chance to try out the stateless mode of JSF. It is as easy as doing the following: <f:view transient="true">  Your regular content</f:view> And voila you are running stateless. If you decide you do want some state to be kept at the server you can use the @xxxScoped annotations on your beans Be aware that...
on Feb 8, 2013

Blogging

The Fundamentals of a JavaScript Test Suite by John Resig and Bear Bibeault, authors of Secrets of the JavaScript Ninja As important as a solid testing strategy is for all code, it can be crucial for situations where external factors have the potential to affect the operation of your code, which is exactly the case you're faced with in cross-browser JavaScript development. In this article...
on Feb 7, 2013