Recent Notes
Displaying keyword search results 81 - 90
Created by voodoo on June 17, 2010 22:01:21
Last update: June 17, 2010 22:02:33
I'm building PostgreSQL 8.4.4 on Solaris 10 and got this ar: Command not found error:
ar crs libpgport.a isinf.o getopt.o chklocale.o co...
It turned out that the ar command is under the directory /usr/ccs/bin , adding it to the PATH solves the problem:
PATH=/usr/ccs/bin:$PATH
Created by voodoo on June 17, 2010 15:23:02
Last update: June 17, 2010 15:35:40
Use useradd to add a user (the switches are not required, but it's a good idea to give them. For example, without -m you'd create a user without a home directory):
# -d switch specifies user home directory
# -m ...
You also need to use the passwd command to set a new password before the user can log in.
To delete a user, use the userdel command:
userdel demo
Created by Fang on April 03, 2010 20:21:15
Last update: April 04, 2010 03:30:22
The tags <c:out> The <c:out> tag evaluates an expression and outputs the result on the page. The syntax is:
<c:out value="value" [escapeXml="{true|false}"] ... where escapeXml defaults to true and default defaults to empty string "". <c:out value="${expr}" escapeXml="false"/> is equivalent to ${expr} . If a variable is set in multiple scopes, the lower scope wins. In the following example code, attribute1 is set in request, session, and application scopes; attribute2 is set in session and application scopes; attribute3 is set in the application scope. The results are: <c:out value="${attribute1}"/> : Attribute1 request scope <c:out value="${attribute2}"/> : Attribute2 session scope <c:out value="${attribute3}"/> : Attribute3 application scope To access values in higher scopes, you have to specify the scope explicitly, like this: <c:out value="${sessionScope.attribute1}"/> : Attribute1 session...
Created by Fang on April 01, 2010 22:24:58
Last update: April 02, 2010 02:49:38
In this note I'll show you how to create and package a JSP custom tag. The purpose of this tag is to display a random splash image for a home page, among a set of images. We should be able to add or delete candidate splash images from the WAR archive without the need to change the JSP. This is the intended use of the tag:
<%@ taglib uri="http://custom.tag.com/demo" prefix... In the above example you provide a set of images named splash*.png (e.g., splash1.png, spalsh2.png, ...), and the tag will pick a random one to display when the JSP is rendered. Let's get started. I'll use Maven for this purpose. Create the standard Maven directory structure ./pom.xml ./src ./src/main ./src/main/jav... pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0"... SplashTag.java package tagdemo; import java.util.ArrayList......
Created by Dr. Xi on February 14, 2010 23:00:53
Last update: February 16, 2010 03:20:24
Tomcat auto-deploys WAR files or exploded web applications copied to the appBase directory by default. The default Host configuration in server.xml looks like this:
<!-- Define the default virtual host ... So the appBase directory is named webapps by default, which is where the manager and examples applications are. You can deploy a new application by dropping your WAR file, or copying your application in exploded WAR structure to the same directory. Your application is automatically re-deployed when a new WAR file is copied to webapps , or, in exploded structure, WEB-INF/web.xml is updated. The reason that Tomcat knows to reload a web application when web.xml is updated is because of the WatchedResource declaration in $CATALINA_BASE/conf/context.xml : <Context> <!-- Default set of monitored... It...
Created by Dr. Xi on February 15, 2010 06:09:56
Last update: February 16, 2010 03:08:34
The context root of a web application determines the root path of URLs that will be handled by that application. For example, if the context root is example , then URLs starting with /example (i.e., /example/* ) will be handled by that application. By default, Tomcat uses the WAR file name (without the .war extension) or, if deployed in exploded directory form, the name of the top level directory as the context root . For example, the pre-installed examples application is deployed under the examples directory under webapps , and its context root is examples . You may want to use a different context root than Tomcat's default. For example, if you build your application with Maven, the resulting WAR file might be named my-fabulous-app-1.0-SNAPSHOT.war...
Created by Dr. Xi on February 12, 2010 22:39:15
Last update: February 12, 2010 22:39:15
When you start Tomcat for the first time, you may get the "port 8080 is already in use" error. Indeed, port 8080 is commonly used by a lot of development servers by default (Oracle XE for another example). Luckily, it's quite easy to ask Tomcat to use a different port. I use port 8086, which is a natural next step and superior to 8080.
Simply edit $CATALINA_BASE/conf/server.xml and change 8080 to 8086:
<!-- A "Connector" represents an endpoint by w...
If you have not configured Tomcat 6 for multiple instances by setting a CATALINA_BASE directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME , the directory into which you have installed Tomcat 6.
Created by Dr. Xi on February 11, 2010 05:07:48
Last update: February 11, 2010 05:08:20
On Linux, you can use the fuser command to find out who has a file open, or is using a port. For example, if you start Tomcat and get the error "Address already in use: 8080", you want to know which process is already binding to port 8080.
# list processes on port 8080
fuser 8080/tcp
...
Created by Dr. Xi on February 10, 2010 23:39:37
Last update: February 10, 2010 23:39:37
Example web.xml that includes most frequently used elements. This sample is for Servlet Specification 2.4.
<?xml version="1.0" encoding="UTF-8"?>
<web-ap...
Created by Dr. Xi on December 11, 2007 22:10:28
Last update: January 14, 2010 03:39:31
The subroutine recurse traverses a directory tree. The function to be performed, which works on the current file with optional parameters, is passed in as a parameter.
# perl - recursive dirctory tasks
# 1. recursiv...