ÔÚ±¾ÆªÎÄÕÂÖн«Ê¹ÓùýÂËÆ÷½øÐбàÂëת»»¡¢µÇ½ÑéÖ¤¡¢·ÀÕ¾ÍâÌá½»µÄ¹ý³Ì£¬ÎªÁËÑÝʾ£¬ÎҰѱàÂëת»»·ÅÔÚÒ»¸öfilterÖУ¬µÇ½ÑéÖ¤ºÍ·ÀÕ¾ÍâÌá½»·ÅÔÚÁíÒ»¸öfilterÖУ¬Á½¸öfilter½øÐд®Áª¹¤×÷¡£
1¡¢ÎªÁËÑÝʾ£¬ÏÈÖÆ×÷ÕâÁ½¸öfilter
//Õâ¸öfilterÊÇΪÁË×ö±àÂëת»»£¬Ö»Òª·ÃÎÊ.jspÍøÒ³¶¼Òª¹¦¹ýÕâ¸öfilter
/**ÀàÃû£ºfilter.Encoding
*×÷Ó㺶Ժǫ́Ð޸ĽøÐÐȨÏÞÑéÖ¤ºÍ·ÀÖ¹Õ¾ÍâÌá½»
*×÷Õߣºluoshao
*ÈÕÆÚ£º2008-1-9
*/
package filter;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Encoding implements Filter {
/** Request.java
* ¶Ô HttpServletRequestWrapper ½øÐÐÀ©³ä, ²»Ó°ÏìÔÀ´µÄ¹¦Äܲ¢ÄÜÌṩËùÓÐµÄ HttpServletRequest
* ½Ó¿ÚÖеŦÄÜ. Ëü¿ÉÒÔͳһµÄ¶Ô Tomcat ĬÈÏÉèÖÃϵÄÖÐÎÄÎÊÌâ½øÐнâ¾ö¶øÖ»ÐèÒªÓÃÐ嵀 Request ¶ÔÏóÌæ»»Ò³ÃæÖеÄ
* request ¶ÔÏó¼´¿É.
*/
class Request extends HttpServletRequestWrapper
{
......
JSP£¨java server page£©
JSPÊÇ·þÎñÆ÷¶ËÔËÐеÄÒ³Ãæ£¬JSP±¾Ê¾ÍÊÇÒ»¸öÎĵµ£¬Ëû²»½ö¿ÉÒÔ°üº¬¾²Ì¬µÄHTML´úÂ룬Ҳ¿ÉÒÔ°üº¬¶¯Ì¬µÄJAVA´úÂ룬·þÎñÆ÷ÈÝÆ÷¿ÉÒÔ½«JSPת»»³ÉServlet·¢²¼£¬²¢½ÓÊÜÇëÇó¡£
JspÎļþÖ»Ðè·ÅÔÚÓ¦ÓÃÎļþϾͿÉÒÔÁË¡£
JSPÀý×Ó£º
<html>
<head><title>time</title></head>
<body>
<h1><%=new java.util.Date()%></h1>
</body>
</html>
JSPÔËÐйý³Ì
1£¬JSPÎļþÏÈÒª·Òë³ÉJavaÎļþ£¨Servlet£©£¬ÔÚtomcatÖзÒëºóµÄjavaÎļþÔÚtomcatϵÄwork\Catalina\localhostÖÐÏàÓ¦Ãû×ÖµÄÓ¦ÓÃĿ¼Àï¡£
2£¬±àÒëJavaÎļþ
3£¬ÔËÐÐ.classÎļþ
TomcatµÄÈ«¾ÖÅäÖÃÎļþ
ÔÚTomcatϵÄconfĿ¼ÖеÄweb.xmlÊÇ·þÎñÆ÷È«¾ÖµÄÅäÖÃÎļþ£¬ÆäÖÐÒªÏë¹Ø±ÕÁбíÏÔʾ½ÐÒª°Ñ
<init-param>
<param-name>listings</param-name>
<param-value>false</param-va ......
JSPµÄ×¢ÊÍ
<%--........--%>
JSPÖ¸ÁîºÍJSP¶¯×÷£¨±ê×¼µÄJSP±êÇ©£©
JSPÖ¸ÁîµÄÓï·¨
<%@... ....%>
<%@include file="...."%> °üº¬Ö¸Á°üº¬Ö¸Áî»á½«Òª°üº¬µÄÎļþ´úÂëÔÑùÊä³öµ½±¾Ò³Ã棨ÔÚ·Òëʱ°Ñ°üº¬ÎļþµÄÄÚÈÝÒýÈë²¢ºÏ²¢£©£¬²»½øÐзÒ룬fileÊôÐÔÖÆ¶¨Òª°üº¬µÄÎļþµÄÃû×Ö£¨×¢ÒâÒª°üº¬µÄÎļþµÄ·¾¶£©£¬Õâ¸öÖ¸Áî¿ÉÒÔʵÏÖÒ³ÃæµÄ¸´Óá£
×¢Ò⣺<%@include file=" "%>Òª°üº¬µÄJSPÎļþÖв»Äܶ¨ÒåÖØÃûµÄ±äÁ¿£¬Èç¹û²»Ê¹Óðüº¬Ö¸ÁÄÇôJSPÖеÄ×îСת»»µ¥Ôª¾ÍÊÇJSPÎļþ£¬Ê¹ÓÃÁ˰üº¬Ö¸Áî¾Í»á½«¶à¸öjspµÄ½á¹ûºÏ²¢µ½Ò»Æð¡£
<%@page ..%>Ò³ÃæÖ¸Áî
<%@page import="..."%> ÒýÈë°ü Àý£º<%@page import="java.util.*,ent.*"%>£¨¿É³öÏÖ¶à´Î£©
<%@page pageEncoding="GBK"%>Éè¶¨Ò³ÃæÏÔʾµÄ×Ö·û¼¯
<%@page contentType="text/html;charset=GBK"%>ÉèÖÃÊä³öÁ÷µÄ±àÂ뷽ʽºÍÎļþ¸ñʽ¡£
×¢Ò⣺Êä³öµÄ×Ö·û¼¯±àÂ뷽ʽҪºÍÒ³ÃæÏÔʾµÄ×Ö·û¼¯Ïàͬ£¬Ò»°ã¶¨ÒåÊä³öÁ÷µÄ±àÂ뷽ʽ£¬×¢ÒâÒÔÉÏÁ½¸öÒ³ÃæÖ¸ÁîÔÚJSPÖÐ×îºÃÖ»³öÏÖÒ»´Î¡£×¢ÒâÔÚÇëÇóÖд«Ë͵IJÎÊýµÄÖµÊÇÖÐÎĵϰÐèÒªµ÷ÓÃÇëÇórequestµÄ
setCharacterEncoding("..")·½·¨ÉèÖÃÏàÓ¦µÄ±àÂ뷽ʽ£ ......
×¢Ò⣺jsp:useBean¶¯×÷£¬ÓÃ±íµ¥ÎªBeanµÄÊôÐÔ¸³ÖµÊ±£¬Ò²¾ÍÊÇjsp:setProperty¶¯×÷Ö±½ÓÊÕÇëÇóÖÐ±íµ¥µÄÐÅϢΪʹÓõÄBeanµÄÊôÐÔ½øÐи³Öµ£¬Ò²¾ÍÊÇ˵jsp:useBeanºÍjsp:setProperty²»Äܹ»³öÏÖÔÚΪÕâ¸öBeanµÄÊôÐÔ¸³ÖµµÄform±íµ¥µÄÒ³ÃæÉÏ¡£
JSPµÄÒì³£´¦Àí
<%@page errorPage="xxx.jsp"%> Ö¸¶¨±¾Ò³Ãæ³öÏÖÒì³£ºóҪתµ½µÄÒ³Ãæ
<%@page iserrorPage="true"%> ¼û±¾Ò³ÃæÖ¸¶¨ÎªÒì³£´¦ÀíÒ³Ãæ£¬Ò²¾ÍÊÇÆäËû³öÒì³£µÄÒ³Ãæ¿ÉÒÔÖ¸¶¨±¾Ò³ÃæÎªÒª×ªµ½µÄÒì³£´¦ÀíÒ³Ãæ¡£
´¦ÀíÒì³£
ÔËÐÐʱÒì³£
1) Ò»¸ö³ÌÐòÔËÐÐÊ±ÖØ»ñµÄ´íÎó;
2) Äܱ»Ò»¹ÌÓеÄÒì³£¶ÔÏóÒýÓÃËùʹÓÃ;
3) ¿ÉÒÔÀûÓÃÒì³£ÒýÓô´½¨»ò²úÉúÒ»¸öJSPÒ³ÃæÏÔʾÒì³£ÐÅÏ¢¸øÓû§¡£
´´½¨Ò»¸öÒì³£¸ú×Ù·½°¸
1) ÔÚÿһ¸öJSPÒ³Ãæ£¬°üº¬Òª´´½¨µÄÒì³£Ò³ÃæÃû³Æ;
<%@page import="numberguess.NumberGuessBean" errorPage="error.jsp"%>
2) ´´½¨Ò»¸öÒì³£Ò³Ãæ;
<%@page isErrorPage="true"%>
JSPÒ³ÃæÖеÄÒì³£´¦Àí
1) <%=exception.toString()%> ´òÓ¡Òì³£Ãû³Æ;
2) <%exception.printStackTrace();%> ´òÓ¡µ±Ç°´íÎóÁ÷ÖÐËùÓдíÎóµÄÁбí;
3) <%= ......
JSP×Ô¶¨Òå±êÇ©£¨tag£©
ʲôÊÇ×Ô¶¨Òå±êÇ©
1£¬Óû§×Ô¶¨ÒåµÄJavaÓïÑÔÔªËØ, ʵÖÊÊÇÔËÐÐÒ»¸ö»òÕßÁ½¸ö½Ó¿ÚµÄJavaBean;
2£¬¿ÉÒԷdz£»úÃܵغÍJSPµÄ±íʾÂß¼ÁªÏµÔÚÒ»Æð£¬ÓÖ¾ßÓÐºÍÆÕͨJavaBeanÏàͬµÄÒµÎñÂß¼´¦ÀíÄÜÁ¦;
3£¬µ±Ò»¸öJSPÒ³Ãæ×ª±äΪservletʱ£¬Æä¼äµÄÓû§×Ô¶¨Òå±êǩת»¯Îª²Ù×÷Ò»¸ö³ÆÎª±êÇ©handerµÄ¶ÔÏó;
4£¬¿É²Ù×÷ĬÈ϶ÔÏ󣬴¦Àí±íµ¥Êý¾Ý£¬·ÃÎÊÊý¾Ý¿âÒÔ¼°ÆäËüÆóÒµ·þÎñ;
×Ô¶¨Òå±êÇ©¿âµÄÌØµã
1£¬Í¨¹ýµ÷ÓÃÒ³Ãæ´«µÝ²ÎÊýʵÏÖ¶¨ÖÆ;
2£¬·ÃÎÊËùÓжÔJSPÒ³Ãæ¿ÉÄܵĶÔÏó;
3£¬Ð޸ĵ÷ÓÃÒ³ÃæÉú³ÉµÄÏìÓ¦;
4£¬×Ô¶¨Òå±êÇ©¼ä¿ÉÏ໥ͨÐÅ;
5£¬ÔÚͬһ¸öJSPÒ³ÃæÖÐͨ¹ý±êǩǶÌ×£¬¿ÉʵÏÖ¸´ÔÓ½»»¥¡£
ÈçºÎʹÓÃ×Ô¶¨Òå±êÇ©¿â
1£¬ÉùÃ÷±êÇ©¿â
2£¬Ê¹±êÇ©¿âÖ´ÐжÔWebÓ¦ÓóÌÐò¿ÉÓÃ
ÉùÃ÷±êÇ©¿â
1£¬Ê¹ÓÃtaglibÖ¸ÁîÉùÃ÷±êÇ©¿â
2£¬Óï·¨£º<%@taglib uri="URI" prefix="pre" %>
×¢Ò⣺a. uriÊôÐÔ¿ÉÒÔÊǾø¶ÔµÄ£¬Ò²¿ÉÒÔÊÇÏà¶ÔURL£¬¸ÃURLÖ¸Ïò±ê¼Ç¿âÃèÊö·û(TLD)Îļþ;
b. uriÊôÐÔÒ²¿ÉÒÔÊÇÒ»¸ö²¢²»´æÔÚµÄURL£¬¸ÃURLΪweb.xmlÎļþÖн«±ê¼Ç¿âÃèÊö·û(TLD)ÎļþµÄ¾ø¶Ô
URLµ½±¾µØÏµÍ³µÄÒ»¸öÓ³Éä;
3£¬·¶Àý£º<%@taglib uri="/WEB-INF/ ......
JSP2.0Öеıí´ïʽÓïÑÔ(EL±í´ïʽ)
ELÓï·¨
ELµÄÓï·¨ºÜ¼òµ¥£¬Ëû×î´óµÄÌØµã¾ÍÊÇʹÓÃÉϺܷ½±ã
Àý£º
${sessionScope.user.sex}
ËùÓÐEL¶¼ÊÇÒÔ ${ ΪÆðʼ¡¢ÒÔ} Ϊ½áβµÄ¡£
ÉÏÊöEL·¶ÀýµÄÒâ˼ÊÇ£º´ÓSessionÈ¡µÃÓû§µÄÐÔ±ð¡£Èç¹ûʹÓÃ֮ǰJSP´úÂëµÄд·¨ÈçÏ£º
<%
User user = (User)session.getAttribute("user");
String sex = user.getSex( );
%>
Á½ÕßÏà±È½Ï֮ϣ¬¿ÉÒÔ·¢ÏÖELµÄÓï·¨±È´«Í³JSP´úÂë¸üΪ·½±ã¡¢¼ò½à¡£
ELÌṩ . ºÍ [ ] Á½ÖÖÔËËã·ûÀ´´æÈ¡Êý¾Ý£¬[ ]¿ÉÒÔ·ÃÎʼ¯ºÏ»òÕßÊÇÊý×éµÄÔªËØ¡¢BeanµÄÊôÐÔ¡£ÏÂÁÐÁ½ÕßËù´ú±íµÄÒâ˼ÊÇÒ»ÑùµÄ£¬µ«ÊÇÐèÒª±£Ö¤ÒªÈ¡µÃ¶ÔÏóµÄÄǸöµÄÊôÐÔÓÐÏàÓ¦µÄsetXxx()ºÍgetXxx()·½·¨²ÅÐС£
Àý£º
${sessionScope.user.sex}
µÈÓÚ
${sessionScope.user["sex"]}
. ºÍ [ ] Ò²¿ÉÒÔͬʱ»ìºÏʹÓã¬ÈçÏ£º
${sessionScope.shoppingCart[0].price}
·µ»Ø½á¹ûΪshoppingCartÖеÚÒ»ÏîÎïÆ·µÄ¼Û¸ñ¡£
ÔÚELÖУ¬×Ö·û´®¼È¿ÉÒÔʹÓÃ"abc"£¬¿ÉÒÔʹÓÃ'abc'¡£
ELÔËËã·û
ELµÄËãÊõÔËËã·ûºÍJavaÖеÄÔËËã·ûµÄ´óÖÂÏàͬ£¬ÓÅÏȼ¶Ò²Ïàͬ¡£
×¢Ò⣺'+' ÔËËã·û²»»áÁ¬½Ó×Ö·û´®ÁË£¬ËûÖ»ÓÃÓÚ¼Ó·¨ÔËËã¡£
EL¹ØÏµÔËËã·ûÓÐÒÔÏÂÁù¸öÔËËã·û
¹ØÏµÔËËã·û ......