锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
<1>鍏堝湪mysql涓嬪緩绔嬪涓嬬殑table. 騫秈nsert鍥懼儚.
mysql.sql鏂囦歡濡備笅:
<2>鎶妔how.jsp鏀懼湪tomcat鐨勪換鎰忕洰褰曚笅. show.jsp浣滅敤:浠庢暟鎹簱涓鍑篵lob,騫朵駭鐢焛mage/jpg.
show.jsp鏂囦歡濡備笅:
<3>鎶婂涓嬫枃浠舵斁鍦╯how.jsp鐨勫悓涓鐩綍涓?
index.html鏂囦歡濡備笅:
1銆佸浣曟販鍚堜嬌鐢↗sp鍜孲SI #include?
鍦↗SP涓彲浠ヤ嬌鐢ㄥ涓嬫柟寮忓寘鍚函HTML錛?
<!--#include file="data.inc"-->
浣嗘槸濡傛灉data.inc涓寘鍚獼SP CODE 錛屾垜浠彲浠ヤ嬌鐢細
<%@include file="data.inc"%>
2銆佸浣曟墽琛屼竴涓嚎紼嬪畨鍏ㄧ殑JSP?
鍙渶澧炲姞濡備笅鎸囦護
<%@ page isThreadSafe="false" %>
3銆丣SP濡備綍澶勭悊HTML FORM涓殑鏁版嵁?
閫氳繃鍐呯疆鐨剅equest瀵硅薄鍗沖彲錛屽涓嬶細
<%
String item = request.getParameter("item");
int howMany = new Integer(request.getParameter("units")).intValue();
%>
4銆佸湪JSP濡備綍鍖呭惈涓涓潤鎬佹枃浠?
闈欐佸寘鍚涓嬶細<%@ include file="copyright.html" %>
鍔ㄦ佸寘鍚涓嬶細<jsp:include page="copyright.html" flush="true"/>
5銆佸湪JSP涓浣曚嬌鐢ㄦ敞閲?
涓昏鏈夊洓涓柟娉曪細
1銆?lt;%-- 涓?--%>
2銆?/
3銆?**涓?*/
4銆?lt;!--涓?->
6銆佸湪JSP涓浣曟墽琛屾祻瑙堥噸瀹氬悜?
浣跨敤濡備笅鏂瑰紡鍗沖彲錛歳esponse.sendRedirect("涔熻兘鐗╃悊鍦版敼鍙楬TTP HEADER灞炴э紝濡備笅錛?
<%
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
String newLocn="/newpath/index.html";
response.setHeader("Location",newLocn);
%>
7銆佸浣曢槻姝㈠湪JSP鎴朣ERVLET涓殑杈撳嚭涓嶈BROWSER淇濆瓨鍦–ACHE涓?
鎶婂涓嬭剼鏈姞鍏ュ埌JSP鏂囦歡鐨勫紑濮嬪嵆鍙細
<%
response.setHeader("Cache-Control","no-store"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>
8銆佸湪JSP涓浣曡緗瓹OOKIE?
COOKIE鏄綔涓篐TTP HEADER鐨勪竴閮ㄥ垎琚彂閫佺殑錛屽涓嬫柟娉曞嵆鍙緗細
<%
Cookie mycookie = new Cookie("aName","aValue");
response.addCookie(mycookie);
%>
9銆佸湪JSP涓浣曞垹闄や竴涓狢OOKIE?
<%
Cookie killMyCookie = new Cookie("mycookie", null);
killMyCookie.setMaxAge(0);
killMyCookie.setPath("/");
response.addCookie(killMyCookie);
%>
10銆佸湪涓涓狫SP鐨勮姹傚鐞嗕腑濡備綍鍋滄JSP鐨勬墽琛?
濡備笅渚嬶細
<%
if (request.getParameter("wen") != null) {
// do something
} else {
return;
}
%>
11銆佸湪JSP涓浣曞畾涔夋柟娉?
浣犲彲浠ュ畾涔夋柟娉曪紝浣嗘槸浣犱笉鑳界洿鎺ヨ闂甁SP鐨勫唴緗璞★紝鑰屾槸閫氳繃鍙傛暟鐨勬柟娉曚紶閫掋傚涓嬶細
<%!
public String howBadFrom(HttpServletRequest req) {
HttpSession ses = req.getSession();
...
return req.getRemoteHost();
}
%>
<%
out.print("in general,lao lee is not baddie ");
%>
<%= howBadFrom(request) %>
12銆佸鏋淏ROWSER宸插叧闂簡COOKIES錛屽湪JSP涓垜濡備綍鎵撳紑SESSION鏉ヨ窡韙?
浣跨敤URL閲嶅啓鍗沖彲錛屽涓嬶細
hello1.jsp
<%@ page session="true" %>
<%
Integer num = new Integer(100);
session.putValue("num",num);
String url =response.encodeURL("hello2.jsp");
%>
<a href=<%=url%>>hello2.jsp</a>
hello2.jsp
<%@ page session="true" %>
<%
Integer i= (Integer )session.getValue("num");
out.println("Num value in session is "+i.intValue());
%>
13銆佸湪JSP涓兘鍙戦丒MAIL鍚?
鍙互浣跨敤SUN鐨勪笓鐢ㄥ寘錛歴un.net.smtp鍖呫傚涓嬭剼鏈嬌鐢⊿mtpClient綾誨彂閫丒MAIL銆?
<%@ page import="sun.net.smtp.SmtpClient, java.io.*" %>
<%
String from="ybwen@sina.com";
String to="hewenjun@yeah.net, lei@who.com.cn";
try{
SmtpClient client = new SmtpClient("mail.xxxxx.xxx");
client.from(from);
client.to(to);
PrintStream message = client.startMessage();
message.println("To: " + to);
message.println("Subject: Sending email from JSP!");
message.println("This was sent from a JSP page!");
message.println();
message.println("Cool! :-)");
message.println();
message.println("Good Boy");
message.println("Im in genius.com");
message.println();
client.closeServer();
}
catch (IOException e){
System.out.println("ERROR SENDING EMAIL:"+e);
}
%>
14銆佸湪SERVLET涓垜鑳借皟鐢ㄤ竴涓狫SP閿欒欏靛悧
褰撶劧娌¢棶棰橈紝濡備笅灞曠ず浜嗗浣曞湪涓涓猄ERVLET鎺у埗閫昏緫鍗曞厓鍐呰皟鐢ㄤ竴涓狫SP閿欒欏甸潰銆?
protected void sendErrorRedirect(HttpServletRequest request,
HttpServletResponse response, String errorPageURL,
Throwable e)
throws ServletException, IOException {
request.setAttribute ("javax.servlet.jsp.jspException", e);
getServletConfig().getServletContext().
getRequestDispatcher(errorPageURL).forward(request,
response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) {
try {
// do something
} catch (Exception ex) {
try {
sendErrorRedirect(request,response,"/jsp/MyErrorPage.jsp",ex);
} catch (Exception e) {
e.printStackTrace();
}
}
}
15銆丣SP鍜孉PPLET濡備綍閫氳
JSP濡備綍涓嶦JB SessionBean閫氳
涓嬮潰鐨勪唬鐮佹浣滀簡寰堝ソ鐨勭ず鑼?
<%@ page import="javax.naming.*, javax.rmi.PortableRemoteObject,
foo.AccountHome, foo.Account" %>
<%!
//瀹氫箟涓涓SessionBeanHome鎺ュ彛瀹炰緥鐨勫叏灞寮曠敤
AccountHome accHome=null;
public void jspInit() {
//鑾峰緱Home鎺ュ彛瀹炰緥
InitialContext cntxt = new InitialContext( );
Object ref= cntxt.lookup("java:comp/env/ejb/AccountEJB");
accHome = (AccountHome)PortableRemoteObject.narrow(ref,AccountHome.class);
}
%>
<%
//瀹炰緥鍖朣essionBean
Account acct = accHome.create();
//璋冪敤榪滅▼鏂規硶
acct.doWhatever(...);
// 濡傛絳夌瓑
%>
16銆佸綋鎴戜嬌鐢ㄤ竴涓粨鏋滈泦鏃訛紝濡備綍闃叉瀛楁涓?null"鐨勫瓧鍩熸樉紺哄湪鎴戠殑HTML杈撳叆鏂囨湰鍩熶腑?
鍙互瀹氫箟涓涓畝鍗曠殑鍑芥暟鏉ヨ揪鍒扮洰鐨勶紝濡備笅錛?
<%!
String blanknull(String s) {
return (s == null) ? "" : s;
}
%>
鐒跺悗鍦↗SP鐨凢ORM涓紝鍙互榪欐牱浣跨敤
<input type="text" name="shoesize" value="<%=blanknull(shoesize)%>">
17銆佸浣曚腑SERVLET鎴朖SP涓嬭澆涓涓枃浠訛紙濡傦細binary,text,executable)錛?
鐜版彁渚涗袱涓В鍐蟲柟妗堬細
A錛氫嬌鐢℉TTP錛?
B錛氬湪Servlet涓紝閫氳繃璁劇疆ContentType鍜屼嬌鐢╦ava.io鍖呯殑Stream絳夌被鍙綔鍒?渚嬪錛?
response.setContentType("application/x-msword");
鐒跺悗鎯寵緭鍑虹紦鍐蹭腑鍐欎竴浜涗笢涓滃嵆鍙?
18銆佷嬌鐢╱seBean鏍囧織鍒濆鍖朆EAN鏃跺浣曟帴鍙楀垵濮嬪寲鍙傛暟
浣跨敤濡備笅涓ゆ爣絳懼嵆鍙細
<jsp:getProperty name="wenBean" property="someProperty"/>
<jsp:setProperty name="wenBean" property="someProperty" value="someValue"/>
19銆佷嬌鐢↗SP濡備綍鑾峰緱瀹㈡埛嫻忚鍣ㄧ殑淇℃伅錛?
浣跨敤request.getHeader(String)鍗沖彲
20銆佽兘璞¤皟鐢ㄥ瓙紼嬪簭涓鏍瘋皟鐢↗SP鍚楋紵
褰撶劧鍙互錛岀敤<jsp:include page="relativeURL" flush="true"/>
21銆佸綋鎴戦噸緙栬瘧鎴戠殑JSP浣跨敤鐨勪竴涓被鍚庯紝涓轟粈涔圝VM緇х畫浣跨敤鎴戠殑鑰丆LASS錛?
<%@include file="abc.jsp"%>涓?lt;jsp:include page="abc.jsp"/>涔嬮棿鐨勫樊鍒紵
鍓嶄竴涓負闈欐佸寘鍚紝鑰屽悗涓涓負鍔ㄦ佸寘鍚?
22銆丣SP鐨勭己鐐癸紵
1銆傚JAVA紼嬪簭榪涜璋冭瘯娌℃湁濂戒笢涓?
2銆傚洜澶у鏁扮殑servlet寮曟搸涓嶆敮鎸乧onnection pooling
3銆係ervlet寮曟搸娌℃湁鏍囧噯
4銆侸SP涓庡叾瀹冭剼鏈璦鐨勪氦浜?
23銆丣SP鑳借繘琛岄掑綊璋冪敤鍚楋紵
褰撶劧鍙互,濡傚form鐨勬彁浜ょ粰鏈〉
34銆佸浣曞疄鐜癑SP鐨勫浗闄呭寲錛?
涓哄悇縐嶇増鏈彁渚況esource bundles灞炴ф枃浠跺嵆鍙?
25銆佸湪JSP涓浣曞啓鏂囨湰鏂囦歡錛?
浣跨敤PrintWriter瀵硅薄錛屽錛?
<%@ page import="java.io.*" %>
<%
String str = "print me";
String nameOfTextFile = "/usr/anil/imp.txt";
try {
PrintWriter pw = new PrintWriter(new FileOutputStream(nameOfTextFile));
pw.println(str);
pw.close();
} catch(IOException e) {
out.println(e.getMessage());
}
%>
26銆佸浣曞湪JSP涓寘鎷粷瀵硅礬寰勬枃浠訛紵
浣跨敤URLConnection鍗沖彲銆?
27銆佸湪servlets鍜孞SP涔嬮棿鑳藉叡浜玸ession瀵硅薄鍚楋紵
褰撶劧鍙互錛?
HttpSession session = request.getSession(true);
session.putValue("variable","value");
28銆丣avaScript鐨勫彉閲忚兘澶嶅埗鍒癑SP鐨凷ESSION涓悧錛?
29銆佸浣曡緗甤ookie鍦ㄦ煇涓鏃墮棿鍚庤繃鏈燂紵
鐢–ookie.setMaxAge(int)
30銆佸浣曡幏寰楀綋鍓嶇殑sessions鏁幫紵
鍙互浣跨敤HttpSessionBindingListeners鏉ヨ窡韙?
31銆佽兘璁劇疆涓浜涗唬鐮佸湪鎴戞墍鏈夌殑JSP鏂囦歡涔嬩笂榪愯錛熷鏋滃彲浠ワ紝鑳藉叡浜悧錛?
褰撶劧鍙互,鍙互涓轟綘鐨凧SP鏂囦歡瀹氫箟涓涓埆鍚?/jsp/=ybwen.genius.myPreprocessingServlet,鑰屼互/jsp/涓哄墠緙鐨勬枃浠跺彲浠ヤ嬌鐢?
32銆佸涓涓狫SP欏碉紝濡傛灉澶氫釜瀹㈡埛绔悓鏃惰姹傚畠錛屽悓姝ュ彲鑳藉悧錛?
鍦╦sp:useBean璇硶涓嬌鐢╞eanName鏈変綍濂藉錛?
beanName浣跨敤Beans.instantiate()鍒濆鍖朆ean
33銆佸綋鎴戜嬌鐢?lt;jsp:forward>鏃訛紝鍦ㄦ祻瑙堝櫒鐨勫湴鍧鏍忔病鏈夋敼鍙橈紵
浣跨敤response.sendRedirect("newURL")
34銆佸浣曡漿鎹SP 0.9鐗堟湰鐨勬枃浠跺埌JSP1.1?
鍙嬌鐢╯ed/awk鍗沖彲
35銆佷嬌鐢↗SP鑳借緗瓾TML FORM涓緭鍏ュ煙鐨勭劍鐐癸紝涓嶇敤JavaScript?
娌″姙娉?
36銆佷嬌鐢↗SP榪炴帴鍒版暟鎹簱榪炴帴緙撳啿姹犵殑鏈濂芥柟娉曟槸浠涔堬紵
1.浣跨敤JDBC2銆?涓甫鏈夋鏈嶅姟鐨凞river
2.浣跨敤鎻愪緵鏈夋鏈嶅姟鐨凙pplication server
3.鑷繁鍐?/p>
涓 鏈綆鍗曠殑璋冪敤鏂瑰紡
String cmd="WMAMP3Converter.exe";
java.lang.Runtime.getRuntime().exec(cmd+" \""+filePath+"\" /wma");
鎬葷粨錛氭鏂規硶錛岃姹傚彲鎵ц鏂囦歡鍦═omcat鐨勫伐浣滅洰褰曚腑銆備竴鑸殑錛岀▼搴忓畨瑁呯洰褰曢兘鍦═omcat鐩綍涔嬪錛屾墍浠ヤ嬌鐢ㄧ粷瀵硅礬寰勬潵鏇夸唬浠ヤ笂鏂規銆?/p>
浜?浣跨敤鍏ㄨ礬寰勮皟鐢ㄥ彲鎵ц鏂囦歡
String cmd="C:\\WMA\\WMAMP3Converter.exe";
java.lang.Runtime.getRuntime().exec(cmd+" \""+filePath+"\" /wma");
鎬葷粨錛氭璋冪敤鏂瑰紡鎵ц娌℃湁闂錛屽悗鏉ユ祴璇曞畬鎴愬悗閮ㄧ講鍒版湇鍔″櫒涓婏紝鍙戠幇闂鍙堝嚭鏉ヤ簡錛岀▼搴忔墽琛岄敊璇傚垎鏋愬師鍥狅紝鍥犱負鏈湴嫻嬭瘯鍜屾湇鍔″櫒瀹夎璺緞涓嶅悓錛屾湇鍔″櫒瀹夎杞歡鐨勭洰褰曚負C:\Program Files\4U Computing\WMA MP3 Converter\錛岃繖閲岃礬寰勯噷鏈夌┖鏍鹼紝閫犳垚絀烘牸澶勬柇寮錛屾墍浠ュ懡浠よ鏃犳硶姝g‘鎴彇鍙傛暟銆?/p>
涓?瀹夊叏鐨勫叏璺緞鏂瑰紡璋冪敤鎵ц鏂囦歡
String cmd="\"C:\\Program Files\\4U Computing\\WMA MP3 Converter\\WMAMP3Converter.exe\"";
java.lang.Runtime.getRuntime().exec(cmd+" \""+filePath+"\" /wma");
鎬葷粨錛氬湪cmd涓蹭腑錛屾妸鍙墽琛屾枃浠剁殑鍏ㄨ礬寰勭敤鍙屽紩鍙峰寘鍚紝灝卞彲浠ヨВ鍐寵礬寰勩佹枃浠跺悕涓寘鍚┖鏍箋佸叏瑙掑瓧絎︾瓑闂銆?/p>
紼嬪簭榪愯涓孌墊椂闂翠互鍚庯紝鍙戠幇鏈夋椂鍊欑▼搴忔墽琛屽畬鍚庤漿鎹㈡枃浠舵病鏈夛紝紼嬪簭娌℃湁閿欒錛岃屼笖鏈嶅姟鍣ㄤ笂鏈夊緢澶氳繘紼嬫病鏈夌粨鏉熴傚師鏉ヨ皟鐢ㄥ彲鎵ц鏂囦歡澶辮觸浜嗭紝浣嗘槸紼嬪簭涓嶇煡閬擄紝浠ヤ負鎴愬姛浜嗭紝鐒跺悗緇х畫鍘繪壘杞崲鍚庣殑鏂囦歡鏉ユ挱鏀懼鑷村け璐ャ傚垎鏋愬師鍥狅紝鏄洜涓轟笂闈㈢殑鏂瑰紡寮傛鐨勶紝涔熷氨鏄java鎻愪氦榪愯鏂囦歡鐨勫懡浠や互鍚庯紝绔嬪嵆杞埌鎾斁妯″潡銆?br />瑙e喅鍔炴硶灝辨槸璁╁懡浠よ鍚屾鏂瑰紡鎵ц錛屼篃灝辨槸涓葷▼搴忕瓑寰呰皟鐢ㄥ彲鎵ц鏂囦歡緇撴潫浠ュ悗鍐嶆墽琛屻傦紙娉細褰撶劧錛屾挱鏀句箣鍓嶆鏌ユ枃浠舵槸鍚﹀瓨鍦ㄤ篃鏄彲浠ョ殑錛岃繖閲屾槸璇存槑鍚屾寮傛鐨勯棶棰樸傦級
鍥?寮傛鏂瑰紡璋冪敤澶栭儴鍙墽琛屾枃浠?br />Process process=null;
String cmd="\"C:\\Program Files\\4U Computing\\WMA MP3 Converter\\WMAMP3Converter.exe\"";
process = java.lang.Runtime.getRuntime().exec(cmd+" \""+filePath+"\" /wma");
process.waitFor();
鎬葷粨錛氭瀯閫犱竴涓狿rocess瀵硅薄錛屽皢榪愯榪涚▼鑾峰彇榪囨潵錛屾帶鍒惰繖涓繘紼嬬瓑寰呰皟鐢ㄧ粨鏉熷啀緇х畫榪愯銆侽K銆?/p>
浜?欏轟究璇翠竴涓嬶紝浣跨敤Process瀵硅薄浠ュ悗錛屽彲浠ョ敤濡備笅鏂規硶榪斿洖閿欒淇℃伅鍜岃緭鍑轟俊鎭紝鏉ヨ繘涓姝ユ帶鍒惰繘紼嬭繍琛屻?br />process.exitValue()
process.getErrorStream()
process.getInputStream()
process.getOutputStream()