锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鍙傜収錛?http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html
]]>
鍙傜収錛?http://tomcat.apache.org/tomcat-5.5-doc/config/context.html
]]>
鍙傜収鏂囨。錛?http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html
2.jsp涓彧鍋氫竴浜沯ava澶勭悊錛屾病鏈塰tml涔嬬被鐨勪笢瑗胯緭鍑猴紝鑰屽鐞嗗悗鐨勫艱繑鍥瀒frame錛屼絾鎴戠幇鍦ㄧ偣鍑繪寜閽悗錛屽脊鍑烘柊鐨勭┖鐧界獥鍙?.jsp銆?nbsp;
璇烽珮鎵嬫寚鏁欏浣曚慨鏀癸紝浣垮緱鐐瑰嚮鎸夐挳鍚庡湪iframe鍐呮樉紺?.jsp錛岃屼笉浼氬脊鍑烘柊鐨勭┖鐧界獥鍙?.jsp銆?/p>
鍙﹀鎴戦氳繃嫻嬭瘯鍙戠幇錛氬湪IE6,IE7,NETSCAPE7.1榪欏嚑涓祻瑙堝櫒涓紝閮藉疄鐜頒簡鎴戞墍甯屾湜鐨勫姛鑳斤紙鐐瑰嚮鎸夐挳鍚庯紝灝嗗艱繑鍥炲埌iframe,浣嗕笉寮瑰嚭鏂扮殑絀虹櫧紿楀彛2.jsp錛夛紝鍙槸NETSCAPE7.02鍗翠笉琛岋紝涓嶇煡閬撴槸涓轟粈涔堛?/p>
璇烽珮鎵嬫寚鏁欙紝鍏堣阿璋㈠悇浣嶄簡銆?/p>
type Status report
message /hello1/
description The requested resource (/hello1/) is not available.
<html> <c:if test="${fn:length(param.username) > 0}" > <web-app xmlns=" xmlns:xsi=" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee web-app_2_5.xsd" <jsp-config>
鍒欏皢javaee.jar鍖呭啀copy涓浠芥斁鍦╰omcat鐩綍鐨刢ommon\lib涓嬪氨涓嶄細浜嗐?br>鍏充簬鐢ㄥ埌鐨刯avaee.jar銆乯sf-api.jar銆乯sf-impl.jar銆乯stl-1.2.jar榪欏洓涓寘鍙互閫氳繃myeclipse涓幏寰楋紝濡傛灉浣犲畨瑁呬簡myeclipse5.5鐨勮瘽錛屾垜瀹夎鐨勬槸MyEclipse 5.5.1 GA錛岃繖鍥涗釜鍖呯殑鎵鍦ㄧ殑鐩綍鏄細MyEclipse 5.5.1 GA\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.1\data\libraryset\EE_5\
鍒版錛屽啀緇欏嚭鍏蜂綋鐨勬枃浠朵唬鐮佸惂銆?br>(1) hello1\index.jsp
<%@ taglib uri="<%@ taglib uri="
<head><title>Hello</title></head>
<body bgcolor="white">
<h2>Hello, my name is Duke. What's yours?</h2>
<form method="get">
<input type="text" name="username" size="25">
<p></p>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>
<%@include file="response.jsp" %>
</c:if>
</body>
</html>
(2) hello1\response.jsp
<h2><font color="black">Hello, ${param.username}!</font></h2>
(3) hello1\WEB-INF\web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
version="2.5">
<jsp-property-group>
<display-name>hello1</display-name>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
<scripting-invalid>false</scripting-invalid>
<is-xml>false</is-xml>
<!-- <include-prelude>/template/prelude.jspf</include-prelude> -->
<!-- <include-coda>/template/coda.jspf</include-coda> -->
</jsp-property-group>
</jsp-config>
</web-app>
鎴愬姛涔嬪悗欏甸潰鏄劇ず涓猴細
Hello, my name is Duke. What's yours?
Hello, afdfadsfads!
]]>
1.涓綋鍜屼氦浜掕儨榪囪繃紼嬪拰宸ュ叿
涓涓紭縐鐨勫洟闃熸垚鍛樻湭蹇呮槸涓涓妧鏈竴嫻佺殑紼嬪簭鍛橈紝鍙兘鏄妧鏈竴鑸殑紼嬪簭鍛橈紝浣嗕粬鑳藉緢濂界殑涓庝粬浜哄悎浣滐紝娌熼氾紝鍚堜綔錛岃壇濂界殑娌熼氫互鍙婁氦浜掕兘鍔涙瘮鍗曠函鐨勭紪紼嬫洿閲嶈銆?br>2.鍙互宸ヤ綔鐨勮蔣浠惰儨榪囬潰闈勘鍒扮殑鏂囨。
涓涓彲浠ュ伐浣滅殑杞歡闇瑕佸叿鏈夋枃妗o紝鐢ㄦ枃妗e彲浠ヤ紶杈劇郴緇熺殑鍘熺悊鍙婄粨鏋勶紝浠ュ強瀵圭郴緇熷強璁捐鍐崇瓥榪涜鎻忚堪銆備絾榪囧鐨勬枃妗d篃騫朵笉鏄竴浠跺ソ浜嬶紝棣栧厛緙栧埗闇瑕佽姳澶ч噺鐨勬椂闂達紝淇濇寔鍚勬枃妗e悓姝ワ紝鏂囨。涓庝唬鐮佷箣闂寸殑鍚屾鏇存槸涓浠墮毦浜嬶紝濡傛灉娌℃湁鍋氬埌鍚屾錛岄偅涔堜細褰㈡垚璇錛屽悗鏋滃皢鏇翠弗閲嶃?br> 瀵逛簬鍥㈤槦鏉ヨ錛岄渶瑕佺紪鍐欏拰緇存姢涓浠芥弿榪扮郴緇熷師鐞嗗強緇撴瀯鐨勬枃妗o紝鎻忚堪緋葷粺鍘熺悊錛岀粨鏋勫拰璁捐鍘熺悊銆傚叧浜庡煿璁柊鍛樺伐錛屽垯灝嗗叾涓庝笟鍔″強杞歡鍧囩啛鎮夌殑鑰佸憳宸ュ潗鍦ㄤ竴璧鳳紝瀹炴椂鎸囧錛屽茍緇撳悎浠g爜銆?br>3.瀹㈡埛鍚堜綔鑳滆繃鍚堝悓璋堝垽
涓庡鎴風揣瀵嗙殑緇撳悎鍦ㄤ竴璧鳳紝鐭懆鏈熺殑鍚戝鎴鋒紨紺鴻蔣浠剁殑榪愯鎯呭喌銆傚緱鍒板鎴風殑鍙嶉騫跺強鏃惰窡榪涜繘琛屾洿鏀廣?br>4.鍝嶅簲鍙樺寲鑳滆繃閬靛驚璁″垝
鍋氱煭鏃墮棿鐨勮緇嗚鍒掞紝闀挎椂闂寸殑綺楃暐璁″垝錛屾椂闂磋秺闀胯鍒掕秺綺楃暐
鐭懆鏈燂紝鎸佺畫鐨勪氦浠樿兘宸ヤ綔杞歡緇欏鎴鳳紝寰楀埌瀹㈡埛鐨勫弽棣堛?br> 浠ヤ漢涓烘湰錛岀粰鎴愬憳鑷俊錛屾縺鍔辨垚鍛樻潵娌熷緩欏圭洰錛屼俊浠繪瘡涓漢閮芥垚瀹屾垚銆?br> 浠ヨ兘澶熸弧瓚沖鎴烽渶姹傜殑鏁伴噺鏉ュ害閲忚蔣浠剁殑榪涘害銆?br> 浣垮洟闃熸垚鍛樹繚鎸侀珮搴﹂泦涓殑綺懼姏錛岄ケ婊$殑綺劇錛屼笉瑕佷負浜嗗鍋氫竴鐐瑰伐浣滆屽熺敤鏄庝簬鐨勭簿鍔涖?br> 鏈濂界殑鏋舵瀯錛岄渶姹傦紝璁捐鍑鴻嚜浜庡洟闃熴?br> 姣忛殧涓孌墊椂闂達紝鍥㈤槦瀵規洿鏈夋晥鐨勫伐浣滆繘琛屽弽鐪侊紝瀵圭粍緇囨柟寮忥紝瑙勫垯錛屽叧緋葷瓑榪涜璋冩暣錛岃揪鍒版洿鏈夋晥鐨勫伐浣滄柟寮?br>
鏋侀檺緙栫▼
1.瀹㈡埛鍋氫負鍥㈤槦寮鍙戜漢鍛橈紝瀹㈡埛鍙互鏄拰寮鍙戝洟闃熷悓涓瀹跺叕鍙哥殑涓緇勪笟鍔″垎鏋愬笀鎴栧競鍦轟笓瀹訛紝鍙互鏄敤鎴峰洟浣撳媧劇殑鐢ㄦ埛浠h〃銆?br>2.姣忎袱鍛ㄤ氦浠樹竴嬈″彲浠ュ伐浣滅殑杞歡錛岃凱浠h鍒掞紙涓ゅ懆鍋氫竴嬈★紝閲嶅鍛ㄦ湡錛夛紝鍙戝竷璁″垝錛屼竴嬈″仛澶ф涓変釜鏈堢殑鍙戝竷璁″垝錛屽仛涓嬈¢暱鍛ㄦ湡鐨勪氦浠樸?br>3.楠屾敹嫻嬭瘯
4.緇撳緙栫▼錛屼袱涓漢浣跨敤涓鍙扮數鑴戯紝涓涓帶鍒墮敭鐩橈紝涓涓鏌ヤ唬鐮佺殑閿欒鍙婂彲浠ユ敼榪涚殑鍦版柟錛岀粨瀵圭殑鍏崇郴姣忓ぉ鏀瑰彉涓嬈★紝姣忎釜鍥㈤槦鎴愬憳搴旇鍜屽叾浠栨墍鏈夊洟闃熸垚鍦ㄤ竴璧峰伐浣滆繃錛岃繖鏍瘋兘澶熶績榪涗笟鍔$煡璇嗗強鎶鏈煡璇嗗湪鍥㈤槦涓殑蹇熶紶鎾紝涓旇兘澶уぇ鍑忓皯緙洪櫡鐜囥?br>5.嫻嬭瘯椹卞姩鐨勫紑鍙戯紝緙栧啓鎵鏈変駭鍝佷唬鐮佺殑鐩殑閮芥槸涓轟簡浣挎祴璇曢氳繃錛屾祴璇曠敤渚嬪拰浠g爜涓璧鋒紨鍖栵紝鍩烘湰鏄嚑鍒嗛挓涓嬈°傜粨鏋滐紝涓涓潪甯稿畬鏁寸殑嫻嬭瘯鐢ㄤ緥闆嗗氨鍜屼唬鐮佷竴璧風敓鎴愯搗鏉ャ?br>6.姣忎釜緇撳閮芥湁瀵逛換浣曚竴涓ā鍧楃殑媯鍑猴紙check out錛夋潈錛屽強淇敼鏉冨姏錛屾病鏈夌▼搴忓憳瀵規煇涓涓壒瀹氱殑妯″潡鍗曠嫭璐熻矗銆?br>7.鍥㈤槦浜哄憳淇濇寔紼沖畾閫備腑鐨勫紑鍙戦熷害錛屼笉鍏佽鍔犵彮銆?br>8.寮鏀劇殑宸ヤ綔絀洪棿錛岀Н鏋佽璁虹殑宸ヤ綔鐜銆傜敓浜х巼浼氭垚鍊嶇殑鎻愰珮銆?br>9.綆鍗曠殑璁捐寮鍙戯紝鑰冭檻鑳藉宸ヤ綔鐨勬渶綆鍗曠殑鏂瑰紡錛屽鑳藉鑳介〉闈㈠畬鎴愮殑灝變笉鑳紼JB錛屼笉鐢ㄦ暟鎹簱銆備笉鑳藉嚭鐜伴噸澶嶇殑浠g爜錛屼竴嬈″氨澶熴?br>10.鍥㈤槦緇忓父鎬у湴瀵逛唬鐮佽繘琛岄噸鏋勩?nbsp;
Copyright (c) 1991, 2001, Oracle Corporation. All rights reserved.
緋葷粺鍙傛暟鏂囦歡涓篍:\oracle\ora90\network\admin\listener.ora
鍐欏叆E:\oracle\ora90\network\log\listener.log鐨勬棩蹇椾俊鎭?br>鍐欏叆E:\oracle\ora90\network\trace\listener.trc鐨勮窡韙俊鎭?br>璺熻釜綰у埆褰撳墠涓?
浠?pid=4092 寮濮?br>鐩戝惉錛?DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
鐩戝惉璇ュ璞℃椂鍑洪敊: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ygogo98sla5i4oh)(PORT=1521)))
TNS-12545: 鍥犵洰鏍囦富鏈烘垨瀵硅薄涓嶅瓨鍦紝榪炴帴澶辮觸
TNS-12560: TNS: 鍗忚閫傞厤鍣ㄩ敊璇?br> TNS-00515: 鍥犵洰鏍囦富鏈烘垨瀵硅薄涓嶅瓨鍦紝榪炴帴澶辮觸
32-bit Windows Error: 1004: Unknown error
涓嶅啀鐩戝惉: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
鍘熷洜鏄垜瀹夎浜唎racle涔嬪悗錛屽張淇敼浜嗕富鏈哄悕
瑙e喅鏂規硶錛?br>
涓銆佺洿鎺ヤ慨鏀?listener.ora
璺緞鏄細 oracle瀹夎鐩綍\ora90\network\ADMIN\listener.ora
淇敼HOST 涓轟富鏈哄悕鎴栬匢P
浜屻侀氳繃 Net Manager錛屽湪 鐩戝惉紼嬪簭\LISTENER 涓嬬洿鎺ヤ慨鏀逛富鏈哄嵆鍙?
浼氳瘽璺熻釜錛?/span>
1銆?nbsp;浣跨敤闅愯棌琛ㄥ崟瀛楁
<INPUT TYPE=”HIDDEN” NAME=”session” VALUE=”landril”
2銆?nbsp;URL閲嶅啓
http://host/path/file.jsp?sessionid=landril
3銆?nbsp;鎸佷箙Cookie
4銆?nbsp;浼氳瘽HttpSession
涓銆?/span>浣跨敤session鐨勭畝鍗曟楠?/span>
鑾峰彇HttpSession錛?/span>request.getSession()鏂規硶錛夊璞★紝鏌ユ壘涓庤浼氳瘽鐩稿叧鐨勪俊鎭紙session.getAttribute()錛夛紝瀛樺偍浼氳瘽涓殑淇℃伅錛?/span>session.setAttribute()錛夛紝鍒犻櫎浼氳瘽涓殑鏁版嵁錛?/span>session.removeAttribute()錛夛紝鍒犻櫎褰撳墠浼氳瘽錛?/span>session.invalidate()錛?/span>
鍦?/span>session涓紝鍙互瀛樺偍浠繪剰鏁伴噺鐨勯敭鍊煎錛岄氳繃閿嵆鍙幏鍙栫浉搴旂殑鍊鹼紝鍗充嬌鐢細session.getAttribute(“key”);銆?/span>
浜屻?/span>session鐨勫父鐢ㄦ柟娉?/span>
1銆?nbsp;getAttribute()錛氫粠session涓幏鍙栦互鍓嶅瓨鍌ㄧ殑鍊?/span>
2銆?nbsp;getAttributeNames()錛氳繑鍥?/span>session涓墍鏈夊睘鎬х殑鍚嶇О
3銆?nbsp;setAttribute()錛氬皢閿笌鍊煎叧鑱旇搗鏉ワ紝瀛樺偍榪?/span>session
4銆?nbsp;removeAttribute()錛氬垹闄?/span>session涓瓨鍌ㄧ殑瀵瑰簲閿殑鍊?/span>
5銆?nbsp;invalidate()錛氬垹闄ゆ暣涓?/span>session鍙婂叾瀛樺偍鐨勯敭鍊?/span>
6銆?nbsp;logout()錛氭敞閿褰撳墠鐢ㄦ埛
7銆?nbsp;getId()錛氳幏鍙栨瘡涓?/span>session瀵瑰簲鐨勫敮涓ID
8銆?nbsp;getCreationTime()錛氳幏鍙?/span>session鍒涘緩鐨勬椂闂?/span>
9銆?nbsp;getLastAccessedTime()錛氳幏鍙?/span>session鏈鍚庤璁塊棶鐨勬椂闂?/span>
10銆?span>
getMaxInactiveInterval()錛氬湪鐢ㄦ埛娌℃湁璁塊棶鐨勬儏鍐典笅錛屼細璇濆湪琚嚜鍔ㄥ簾寮冧箣鍓嶅簲璇ヤ繚鎸佸闀挎椂闂?/span>
涓夈?/span>浣跨敤session鐨勪竴涓緥瀛愶紝鎷ユ湁璐墿杞︾殑鍦ㄧ嚎鍟嗗簵
1銆?/span>CatalogPage.java
package com.landril.session;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CatalogPage extends HttpServlet {
private CatalogItem[] items;
private String[] itemIds;
private String title;
protected void setItems(String[] itemIds) {
this.itemIds = itemIds;
items = new CatalogItem[itemIds.length];
for (int i = 0; i < items.length; i++) {
items[i] = Catalog.getItem(itemIds[i]);
}
}
protected void setTitle(String title) {
this.title = title;
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if(items == null){
response.sendError(response.SC_NOT_FOUND,"Missing Items:");
return;
}
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>"+title+"</title></head><body><h3>"+title+"</h3>");
CatalogItem item;
for (int i = 0; i < items.length; i++) {
out.println("<hr>");
item = items[i];
if(item == null)
out.println("Unknow itemId: "+itemIds[i]);
else{
out.println();
String formURL = request.getContextPath()+"/orderPage";
formURL = response.encodeURL(formURL);
out.println("<form action='"+formURL+"'>");
out.println("<input type='hidden' name='itemId' value='"+item.getItemId()+"'>");
out.println(new String(item.getSDesc().getBytes("utf-8"),"GBK")+"$"+item.getPrice()+item.getLDesc());
out.println("<input type='submit' value='add to shopping cart'></form></body></html>");
}
}
}
}
2銆?/span>ComputerBook.java
package com.landril.session;
public class ComputerBook extends CatalogPage{
public void init(){
String[] ids = {"book1","book2","book3","book4"};
setItems(ids);
setTitle("Japanese Book");
}
}
3銆?/span>JapaneseBook.java
package com.landril.session;
public class JapaneseBook extends CatalogPage{
public void init(){
String[] ids = {"book5","book6"};
setItems(ids);
setTitle("Computer Book");
}
}
4銆?/span>OrderPage.java
package com.landril.session;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class OrderPage extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
ShoppingCart cart;
synchronized(session){
cart = (ShoppingCart)session.getAttribute("shop");
if(cart == null){
cart = new ShoppingCart();
session.setAttribute("shop", cart);
}
String itemId = request.getParameter("itemId");
if(itemId != null){
String num = request.getParameter("num");
if(num == null)
cart.addItem(itemId);
else{
int numItems;
try {
numItems = Integer.parseInt(num);
} catch (NumberFormatException e) {
numItems = 1;
}
cart.setNum(itemId, numItems);
}
}
}
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "Your Order";
out.println("<html><head><title>"+title+"</title></head><body><h3>"+title+"</h3>");
synchronized(session){
List<ItemOrder> itemOrders = cart.getItemOrders();
if(itemOrders.size() == 0)
out.println("No items");
else{
out.println("<table border=1><tr><th>Item ID<th>Short Description<th>Long Description<th>Unit Price<th>Number<th>Total Price");
ItemOrder order;
for (int i = 0; i < itemOrders.size(); i++) {
order = (ItemOrder)itemOrders.get(i);
out.println("<tr><td>"+order.getItemId()+"<td>"+order.getSDesc()+"<td>"+order.getLDesc()+"<td>"+order.getUnitPrice()+"<td>");
out.println("<form><input type='hidden' name='itemId' value='"+order.getItemId()+"'>");
out.println("<input type='text' name='num' size=3 value='"+order.getNum()+"'>");
out.println("<input type='submit' value='update order'></form><td>");
out.println(order.getTotalPrice());
}
String checkURL = response.encodeURL(request.getContextPath()+"/check.html");
out.println("</table><form action='"+checkURL+"'>");
out.println("<input type='submit' value='submit'></form></body></html>");
}
}
}
}
5銆?/span>ShoppingCart.java
package com.landril.session;
import java.util.ArrayList;
import java.util.List;
public class ShoppingCart {
private List<ItemOrder> itemOrders;
public ShoppingCart() {
itemOrders = new ArrayList<ItemOrder>();
}
public List<ItemOrder> getItemOrders(){
return itemOrders;
}
public synchronized void addItem(String itemId){
ItemOrder order;
for(int i=0;i<itemOrders.size();i++){
order = (ItemOrder)itemOrders.get(i);
if(itemId.equals(order.getItemId())){
order.addNum();
return;
}
}
ItemOrder newOrd = new ItemOrder(Catalog.getItem(itemId));
itemOrders.add(newOrd);
}
public synchronized void setNum(String itemId,int num){
ItemOrder order;
for (int i = 0; i < itemOrders.size(); i++) {
order = (ItemOrder)itemOrders.get(i);
if(itemId.equals(order.getItemId())){
if(num <=0)
itemOrders.remove(i);
else
order.setNum(num);
}
return;
}
ItemOrder newOrd = new ItemOrder(Catalog.getItem(itemId));
itemOrders.add(newOrd);
}
}
6銆?/span>CatalogItem.java
package com.landril.session;
public class CatalogItem {
private String itemId;
private String sDesc;
private String lDesc;
private float price;
public String getItemId() {
return itemId;
}
public void setItemId(String itemId) {
this.itemId = itemId;
}
public String getLDesc() {
return lDesc;
}
public void setLDesc(String desc) {
lDesc = desc;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public String getSDesc() {
return sDesc;
}
public void setSDesc(String desc) {
sDesc = desc;
}
public CatalogItem(String itemId, String desc, String desc2, float price) {
super();
this.itemId = itemId;
sDesc = desc;
lDesc = desc2;
this.price = price;
}
}
7銆?/span>ItemOrder.java
package com.landril.session;
public class ItemOrder {
private CatalogItem item;
private int num;
public ItemOrder(CatalogItem item) {
setItem(item);
setNum(1);
}
public CatalogItem getItem() {
return item;
}
public void setItem(CatalogItem item) {
this.item = item;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getItemId() {
return item.getItemId();
}
public String getSDesc() {
return item.getSDesc();
}
public String getLDesc() {
return item.getLDesc();
}
public float getUnitPrice() {
return item.getPrice();
}
public void addNum() {
setNum(num + 1);
}
public void cancelOrder() {
setNum(0);
}
public float getTotalPrice() {
return num * getUnitPrice();
}
}
8銆?/span>Catalog.java
package com.landril.session;
public class Catalog {
private static CatalogItem[] items = {
new CatalogItem("book1", "Hibernate", "Hibernate錛?/span>Hibernate", 57),
new CatalogItem("book2", "Spring", "Spring錛?/span>Spring", 36),
new CatalogItem("book3", "Tomcat", "Tomcat錛?/span>Tomcat", 23),
new CatalogItem("book4", "Jboss", "Jboss錛?/span>Jboss", 35),
new CatalogItem("book5", "Japanese1", "Japanese1錛?/span>Japanese1", 35),
new CatalogItem("book6", "Japanese2", "Japanese2錛?/span>Japanese2", 23) };
public static CatalogItem getItem(String itemId) {
CatalogItem item;
if (itemId == null)
return null;
for (int i = 0; i < items.length; i++) {
item = items[i];
if (itemId.equals(item.getItemId()))
return item;
}
return null;
}
}
9銆?/span>check.html
<html>
<head>
<title>checking out</title>
</head>
<body>
Checking out
</body>
涓銆?/span>Servlet鐢熷懡鍛ㄦ湡
鏈嶅姟鍣ㄥ姞杞?/span>Servlet錛屽垱寤?/span>Servlet綾葷殑瀹炰緥錛岃皟鐢?/span>Servlet鐨?/span>init()鏂規硶錛屽鐞嗗鎴風鐨勬湇鍔¤皟鐢紙濡傛灉鏀跺埌璇鋒眰錛岃皟鐢?/span>service()鏂規硶錛?/span>service()鏂規硶澶勭悊璇鋒眰騫跺皢緇撴灉榪斿洖瀹㈡埛绔紝絳夊緟涓嬩竴涓嬭姹傦紝閲嶅錛夛紝Servlet鍦ㄦ湇鍔″櫒璋冪敤destroy()鏂規硶鍚庤鍗歌澆
浜屻?/span>浼氳瘽璺熻釜鎶鏈?/span>
1銆?nbsp;浣跨敤闅愯棌琛ㄥ崟瀛楁
<INPUT TYPE=”HIDDEN” NAME=”session” VALUE=”landril”
2銆?nbsp;URL閲嶅啓
http://host/path/file.jsp?sessionid=landril
3銆?nbsp;鎸佷箙Cookie
4銆?nbsp;浼氳瘽HttpSession
ServletRequest錛氱敤浜庡皢璇鋒眰鐨勪俊鎭紶閫佺粰Servlet
ServletResponse錛氭彁渚涙湇鍔″櫒瀵瑰鎴風璇鋒眰鐨勫搷搴?/span>
RequestDispatcher錛氭帴鏀剁敤鎴風鐨勮姹傚茍灝嗗叾鍙戦佸埌浠諱綍璧勬簮錛?/span>RequestDispatcher瀵硅薄鐢ㄤ綔璧勬簮鐨勫皝瑁呭櫒錛岄氳繃璺緞鎴栧悕縐版寚瀹?/span>
ServletConfig錛氬畾涔?/span>Servlet閰嶇疆瀵硅薄錛屽彲浠ヤ粠web.xml鏂囦歡涓幏鍙栧垵濮嬪寲鍙傛暟鐨勫間互鍙婂ServletContext瀵硅薄鐨勫紩鐢?/span>
ServletContext錛氳Servlet鏌ユ壘鏈夊叧Servlet寮曟搸鍙婂叾鐜鐨勪俊鎭?/span>