Recent Notes
Displaying keyword search results 1 - 10
Created by Fang on March 30, 2012 10:07:25
Last update: March 08, 2013 13:41:57
After a user resets a password, I want to force the user to change the password before she gets access to secured content. This is usually done with a servlet filter. But with Spring MVC, you can also use a HandlerInterceptor . According to Spring JavaDoc: HandlerInterceptor is basically similar to a Servlet 2.3 Filter, but in contrast to the latter it just allows custom pre-processing with the option of prohibiting the execution of the handler itself, and custom post-processing. Filters are more powerful, for example they allow for exchanging the request and response objects that are handed down the chain. Note that a filter gets configured in web.xml, a HandlerInterceptor in the application context. As a basic guideline, fine-grained handler-related preprocessing tasks are candidates...
Created by freyo on February 06, 2013 21:10:47
Last update: February 06, 2013 21:12:18
I have an old Samung phone to be used as a toy. After restoring back to factory image and power on, I was stuck at the activate service screen. Unfortunately, the four corner magic touch did not work. So I did quite a bit of digging and this is what worked on my Samsung Continuum: Press emergency call button, then at the dialer, press * # 8 3 7 8 6 6 3 3 , press the Home key From the home screen, tap phone icon, Dial * # 2 2 7 4 5 9 2 7 Enter SPC code: ______ displays tap in white box to show virtual keyboard, enter 6 digit code (default: 000000), tap OK Select “Hidden menu Enable”, tap OK From...
Created by Dr. Xi on August 15, 2012 12:05:39
Last update: August 15, 2012 12:05:39
Use OpenSSL's s_client command to fetch a page manually:
$ openssl s_client -connect localhost:443 -state -...
Sample session for Google:
$ openssl s_client -connect www.google.com:443 -st...
Resource: SSL/TLS Strong Encryption: FAQ
Created by Dr. Xi on July 30, 2012 12:42:19
Last update: July 30, 2012 12:43:12
There's no syntax for negative match. If you are doing negative match in Java code, you can do it like this:
if (!myString.matches(regexNotToMatch)) {
....
or,
if (!Pattern.matches(regexNotToMatch, myString)) {...
But there's no such luxury with the javax.validation.constraints.Pattern annotation. You have to resort to the zero-width negative lookahead trick:
// no 1111 or 2222,
// this regex blocks anyth...
Created by Dr. Xi on May 25, 2012 21:13:11
Last update: May 25, 2012 21:13:11
I learned this the hard way. Apache is set up and running fine. I can open the "It works!" page in a local browser. I added the rules to the Windows Firewall to allow incoming connection from both Private and Public networks. But when I tried to access the default Apache page from another PC, timeout! I removed the rules, added them back again, double checked, still timeout! I then removed the firewall rules and used Windows 7 troubleshooting tool to fix the problem. It correctly identified and "fixed" the problem. But I still get timeout!
Finally I got tired of all this and hit the Power button. It worked! Everything worked out after reboot!
Lesson learned: Windows 7 is still Windows.
Created by Dr. Xi on May 25, 2012 15:47:34
Last update: May 25, 2012 15:49:33
Steps to configure SSL for Apache HTTPD server on Windows:
In Apache2.2/conf/httpd.conf , load mod_ssl and include httpd-ssl.conf :
LoadModule ssl_module modules/mod_ssl.so
...
In Apache2.2/conf/extra/httpd-ssl.conf , make sure the paths for the cert files point to the cert and key you want to use:
# Server Certificate:
# Point SSLCertificat...
Start up Apache. If it fails, use the command line to see what the error is. There won't be any log in error.log if there are errors in the conf files:
C:\Program Files (x86)\Apache Software Foundation\...
I corrected the previous error by using the alternative line for SSLSessionCache :
# Inter-Process Session Cache:
# Configure ...
Created by Fang on May 17, 2012 19:31:39
Last update: May 17, 2012 19:31:39
To inject ServletContext into a Spring bean:
implement ServletContextAware :
import javax.servlet.ServletContext;
import...
Define bean in Spring application context:
<beans:bean id="myBean"
class="com.example.M...
Created by Fang on April 16, 2012 13:18:40
Last update: April 16, 2012 13:18:40
Simply call pageContext.setAttribute() to export a variable from within a JSP custom tag:
public class MyCustomVarTag extends TagSupport {
...
The availability of the exported variable can be limited in the TLD:
<tag>
<name>setVar</name>
<tag-class...
The availability scopes are:
Value Availability
NESTED Between the start tag and the end tag.
AT_BEGIN From the start tag until the scope of any enclosing tag. If there’s no enclosing tag, then to the end of the page.
AT_END After the end tag until the scope of any enclosing tag. If there’s no enclosing tag, then to the end of the page.
Created by Fang on April 16, 2012 12:58:35
Last update: April 16, 2012 12:58:35
To implement a JSP custom tag with dynamic attributes (for example, to pass-thru arbitrary attributes not handled by the JSP tag):
Set the dynamic-attributes element to true in the TLD:
<tag>
<name>mark</name>
<tag-class>c...
The tag handler must implement javax.servlet.jsp.tagext.DynamicAttributes :
package com.example.jsp;
import java.io.*;
...
Created by Fang on March 15, 2012 10:24:35
Last update: March 15, 2012 10:24:35
Suppose that I have an email field annotated with:
@NotEmpty(message="Please enter email address")
...
Bean validation will trigger two errors when no email address is entered:
the email field is empty
an empty email field is not a valid email address
Displaying both errors to the user with <form:errors> would be redundant and confusing:
<%@ taglib uri="http://www.springframework.org/tag...
This is how to display the first error only:
<spring:bind path="emailAddress">
<c:if test="$...