Custom tags are HTML-looking tags that you place in your JSP that look like HTML, but they call JavaServlets, classes, etc. You declare them with *.tld files, you reference the tld files in your web.xml files and go from there. According to Sun, this is the best way to separate your presentation layer from your java. I personnally think there's no problem with putting Java write in your JSP. http://www.jsptags.com is a great resource.