Skip to main content

Directive tag in more details

From last post about tag in jsp. This post is about directive tag in more details. Directive tag can devide into three types e.g. page, include and taglib
<%@ directive attribute="value" %>

page directive: page directive will provide the information about the page for jsp engine to compile that page.
Below are some importance attributes of page directive :
language tells the engine about language that the page is using.
usage: <%@ page language="java" %>

extends tell jsp engine that this page will extend from specify class.
usage: <%@ page extends="test.myclass" %>

import used to import any class to use in our jsp page. We can use comma(,) to import more than one packages.
usage: <%@ page import="java.sql.*,mypackage.myclass" %>

session="true|false", default is true so jsp pages are session enable.
usage: <%@ page session="true" %>

buffer, control buffer usage for that jsp page.
usage: <%@ page buffer="none" %>

autoFlush="true|false", if true will automatic clear when buffer is full.
usage: <%@ page autoFlush="true" %>

isThreadSafe="true|false", if true, jsp engine will create new thread for every concurrent request.
usage: <%@ page isThreadSafe="true" %>

errorPage tell the server that which page to go when got un-handled exceptions in the page.
usage: <%@ page errorPage="error.jsp" %>

more than one directives can be used by separate by space.
usage: <%@ page language="java" session="true" contentType="text/html;charset=ISO-8859-1" %>

include directive: include is used to include content in another file into the jsp page. You can use it for header or footer of the page.
<% include file="file to include" %>

usage: <%@ include file="/header.jsp" %>

taglib directive:
next in jsp tag series

Comments

Popular posts from this blog

Fixing sendmail take a long time to start

I notice that my database box[FC6+Oracle10.2] take along time to startup. Sendmail and sm-client very very slow to start[ about 5 minutes ]. There's something wrong in /etc/hosts file. 'newalises' command take long time to update and finish with error below. [root@ora10g ~]# newaliases WARNING: local host name (ora10g) is not qualified; see cf/README: WHO AM I? /etc/aliases: 76 aliases, longest 10 bytes, 765 bytes total [root@ora10g ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 192.168.1.55 ora10g [root@ora10g ~]# To fix this, custom hostname[ora10g] need to append to localhost line in /etc/hosts. [root@ora10g ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ora10g 192.168.1.55 ora10g [root@ora10g ~]# newaliases /etc/alia

Too many open files

Last week tomcat log file report many error about "Too many open files" when it has high traffic. Some in catalina_log say 2007-04-07 16:13:40 HttpProcessor[80][272] Starting background thread 2007-04-07 16:13:40 HttpConnector[80] accept: java.net.SocketException: Too many open files and here is from localhost_log 2007-04-07 16:13:40 StandardWrapperValve[myservlet]: Servlet.service() for servlet myservlet threw exception java.io.FileNotFoundException: /home/log/mylog_070407.log (Too many open files) This is because too many file descriptors're opened by tomcat. File descriptor can be limited in both system level and shell level. To check maximum number of fd in system type 'cat /proc/sys/fs/file-max'. In my case it is 65536(someone said it should set to 200000). Tomcat error when try to open socket number 272 so I think 65536 is ok for me for now. Anyway if u want to set it add 'fs.file-max = 200000' to /etc/sysctl.conf pnix@pnix-a7:~$ cat /proc/sys/fs/fil

using Class.getResource() load resource file in Eclipse

There are many ways to load resource file in java app. What sun recommended is using Class.getResource(" resource_name ") or Class.getResourceAsStream(" resource_name ") then you will get URL and InputStream respectively. If resource_name is specified without "/", it will be prepend with Class package. So resource file must be in same place[folder structure] as the Class. What I love to do is call getResource() with "/" and put resource file at the root of package. This way i can have separate resource folder. below is in Eclipse, 1. From Package explorer right click src folder->click import 2. In import dialog, Choose General->File System ->next 3. from directory:->Browse to your resource folder. 4. to folder:-> I add "resource" as a folder name under src folder. then click "Finish". In the code, load resource with this.getClass().getResource("/resource/buttons1.png") or this.getClass().getResourceAs