锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
搴?/STRONG> |
URI |
鍓嶇紑 |
Core |
http://java.sun.com/jsp/jstl/core |
c |
XML processing |
http://java.sun.com/jsp/jstl/xml |
x |
I18N formatting |
http://java.sun.com/jsp/jstl/fmt |
fmt |
Database access |
http://java.sun.com/jsp/jstl/sql |
sql |
Functions |
http://java.sun.com/jsp/jstl/functions |
fn |
鍑芥暟 |
鎻忚堪 |
fn:contains(string, substring) |
濡傛灉鍙傛暟string涓寘鍚弬鏁皊ubstring錛岃繑鍥瀟rue |
fn:containsIgnoreCase(string, substring) |
濡傛灉鍙傛暟string涓寘鍚弬鏁皊ubstring錛堝拷鐣ュぇ灝忓啓錛夛紝榪斿洖true |
fn:endsWith(string, suffix) |
濡傛灉鍙傛暟 string 浠ュ弬鏁皊uffix緇撳熬錛岃繑鍥瀟rue |
fn:escapeXml(string) |
灝嗘湁鐗規畩鎰忎箟鐨刋ML (鍜孒TML)杞崲涓哄搴旂殑XML character entity code錛屽茍榪斿洖 |
fn:indexOf(string, substring) |
榪斿洖鍙傛暟substring鍦ㄥ弬鏁皊tring涓涓嬈″嚭鐜扮殑浣嶇疆 |
fn:join(array, separator) |
灝嗕竴涓粰瀹氱殑鏁扮粍array鐢ㄧ粰瀹氱殑闂撮殧絎eparator涓插湪涓璧鳳紝緇勬垚涓涓柊鐨勫瓧絎︿覆騫惰繑鍥炪?/P> |
fn:length(item) |
榪斿洖鍙傛暟item涓寘鍚厓绱犵殑鏁伴噺銆傚弬鏁癐tem綾誨瀷鏄暟緇勩乧ollection鎴栬匰tring銆傚鏋滄槸String綾誨瀷,榪斿洖鍊兼槸String涓殑瀛楃鏁般?/P> |
fn:replace(string, before, after) |
榪斿洖涓涓猄tring瀵硅薄銆傜敤鍙傛暟after瀛楃涓叉浛鎹㈠弬鏁皊tring涓墍鏈夊嚭鐜板弬鏁癰efore瀛楃涓茬殑鍦版柟錛屽茍榪斿洖鏇挎崲鍚庣殑緇撴灉 |
fn:split(string, separator) |
榪斿洖涓涓暟緇勶紝浠ュ弬鏁皊eparator 涓哄垎鍓茬鍒嗗壊鍙傛暟string錛屽垎鍓插悗鐨勬瘡涓閮ㄥ垎灝辨槸鏁扮粍鐨勪竴涓厓绱?/P> |
fn:startsWith(string, prefix) |
濡傛灉鍙傛暟string浠ュ弬鏁皃refix寮澶達紝榪斿洖true |
fn:substring(string, begin, end) |
榪斿洖鍙傛暟string閮ㄥ垎瀛楃涓? 浠庡弬鏁癰egin寮濮嬪埌鍙傛暟end浣嶇疆錛屽寘鎷琫nd浣嶇疆鐨勫瓧絎?/P> |
fn:substringAfter(string, substring) |
榪斿洖鍙傛暟substring鍦ㄥ弬鏁皊tring涓悗闈㈢殑閭d竴閮ㄥ垎瀛楃涓?/P> |
fn:substringBefore(string, substring) |
榪斿洖鍙傛暟substring鍦ㄥ弬鏁皊tring涓墠闈㈢殑閭d竴閮ㄥ垎瀛楃涓?/P> |
fn:toLowerCase(string) |
灝嗗弬鏁皊tring鎵鏈夌殑瀛楃鍙樹負灝忓啓錛屽茍灝嗗叾榪斿洖 |
fn:toUpperCase(string) |
灝嗗弬鏁皊tring鎵鏈夌殑瀛楃鍙樹負澶у啓錛屽茍灝嗗叾榪斿洖 |
fn:trim(string) |
鍘婚櫎鍙傛暟string 棣栧熬鐨勭┖鏍鹼紝騫跺皢鍏惰繑鍥?/P> |
<c:if test="${empty query.rows}">
<!--楠岃瘉娌℃湁閫氳繃,榪斿洖鐧誨綍鐣岄潰-->
<font color="red">鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒</font>
<a href="index.jsp">閲嶆柊鐧誨綍</a>
</c:if>
<c:if test="${!empty query.rows}">
<!--楠岃瘉閫氳繃錛屼繚瀛樼敤鎴蜂俊鎭埌session涓?->
<c:forEach var="row" items="${query.rows}">
<c:set var="userName" value="${row.userName}" scope="session" />
<c:set var="userLevel" value="${row.userLevel}" scope="session" />
</c:forEach>
<c:set var="isLog" value="1" scope="session" />
<!--欏甸潰鍙戦佸埌涓婚〉闈?->
<c:redirect url="main.jsp" />
</c:if>
2.session鎺у埗
<c:if test="${empty sessionScope.isLog}">
浣犳病鏈夌櫥褰曟垨鐧誨綍瓚呮椂
<a href="index.jsp">閲嶆柊鐧誨綍</a>
</c:if>
鏁版嵁搴撻┍鍔ㄧ▼搴忓拰URL
鏁版嵁搴撳悕 |
椹卞姩紼嬪簭 |
URL |
MS SQL Server2000 |
com.microsoft.jdbc.sqlserver.SQLServerDriver |
jdbc:microsoft:sqlserver://[ip]:[port];user=[user];passwoerd=[password] |
JDBC-ODBC |
sun.jdbc.odbc.JdbcOdbcDriver |
jdbc:odbc:[odbcsource] |
Oracle oci8 |
oracle.jdbc.driver.OracleDriver |
jdbc:oracle:oci8:@[sid] |
Oracle thin Driver |
oracle.jdbc.driver.OracleDriver |
jdbc:oracle:thin:@[ip]:[port]:[sid] |
Cloudscape |
COM.cloudscape.core.JDBCDriver |
Jdbc:cloudscape:database |
MySQL |
org.git.mm.mysql.Driver |
jdbc:mysql://ip/database?user=?&password=? |
鐩稿叧閾炬帴錛歫ava榪炴帴鏁版嵁搴撴柟娉?A >http://blog.java-cn.com/more.asp?name=johnnyhg&id=341
鏂囦歡鐨勫緩绔嬩笌鍒犻櫎
鏄劇ず鐩綍涓殑鏂囦歡
璇誨彇鏂囦歡涓殑瀛楃
灝嗘暟鎹啓鍏ユ枃浠?/A>
CreateDelete.jsp
<%@ page contentType="text/html; charset=GB2312"%> <%@ page import="java.io.*" %> <%@ page language="java" %> <HTML> <HEAD> <TITLE>鏂囦歡鐨勫緩绔嬩笌鍒犻櫎</TITLE> </HEAD> <BODY> <CENTER> <FONT SIZE = 5 COLOR = blue>鏂囦歡鐨勫緩绔嬩笌鍒犻櫎</FONT> </CENTER> <BR> <HR> <BR> <% //寤虹珛浠h〃鐩墠鐩綍浣嶇疆涓璅ile.txt妗g殑File鍙橀噺, 騫剁敱fileName鍙橀噺鍙樻暟寮曠敤 String path = request.getRealPath("/jsphosting/wenjian"); File fileName = new File(path, "File.txt"); //媯鏌ile.txt鏄惁瀛樺湪 if(fileName.exists()) { //鍒犻櫎File.txt妗? fileName.delete(); //杈撳嚭鐩墠鎵鍦ㄧ殑鐩綍璺緞 out.println(path + "\\File.txt"); %> <FONT SIZE = 4 COLOR = red>瀛樺湪</FONT>, 宸插畬鎴? <FONT SIZE = 4 COLOR = red>鍒犻櫎</FONT> <% } else { //鍦ㄧ洰鍓嶇殑鐩綍涓嬪緩绔嬩竴涓悕涓篎ile.txt鐨勬枃瀛楁。 fileName.createNewFile(); //杈撳嚭鐩墠鎵鍦ㄧ殑鐩綍璺緞 out.println(path + "\\File.txt"); %> <FONT SIZE = 4 COLOR = red>涓嶅瓨鍦?lt;/FONT>, 宸插畬鎴? <FONT SIZE = 4 COLOR = red>寤虹珛</FONT> <% } %> </BODY> </HTML>銆 |
鏄劇ず鐩綍涓殑鏂囦歡
棣栧厛寤虹珛瑕佹樉紺虹殑鐩綍鐨凢ILE瀵硅薄錛岀劧鍚庤皟鐢↙ISTFILES鏂規硶錛岃鏂規硶榪斿洖涓涓狥ILE瀵硅薄鏁扮粍錛屾樉紺烘暟緇勪腑鐨勬墍鏈夊厓绱犲嵆鍙?
ListFile.jsp
<%@ page contentType="text/html; charset=GB2312"%> <%@ page language="java" %> <%@ page import="java.io.*" %> <HTML> <HEAD> <TITLE>鍙栧緱鐩綍涓殑鏂囦歡</TITLE> </HEAD> <BODY> <CENTER> <FONT SIZE = 5 COLOR = blue>鍙栧緱鐩綍涓殑鏂囦歡</FONT> </CENTER> <BR> <HR> <BR> <% //鍙栧緱鐩墠鐩綍鐨勭鐩樼洰褰? String path = request.getRealPath("/jsphosting/wenjian"); //寤虹珛浠h〃鐩墠鐩綍浣嶇疆鐨刣鍙橀噺 File d = new File(path); //鍙栧緱浠h〃鐩綍涓墍鏈夋枃浠? File list[] = d.listFiles(); %> 鍦?lt;Font color = red><%= path%></Font>鐩綍涓嬬殑鏂囦歡鏈夛紙姣忎釜鏂囦歡鏈夊叾鐩稿簲鐨勫姛鑳斤級<BR> <Font color = blue> <ul> <% for(int i=0; i < list.length; i++) { %> <li><%= list[i].getName() %><BR> <% } %> </ul> </Font> </BODY> </HTML>銆 |
璇誨彇鏂?A name=3>浠朵腑鐨勫瓧絎?/FONT>
鐩存帴璋冪敤FILEREADER瀵硅薄鐨凴EAD錛堬級鏂規硶璇誨彇鎵瑕佹樉紺虹殑瀛楃
ReadAll.jsp
<%@ page contentType="text/html; charset=GB2312" %> <%@ page language="java" %> <%@ page import="java.io.*" %> <HTML> <HEAD> <TITLE>璇誨彇鏂囦歡鍐呭</TITLE> </HEAD> <BODY> <CENTER> <FONT SIZE = 5 COLOR = blue>璇誨彇鏂囦歡鍐呭</FONT> </CENTER> <BR> <HR> <BR> <% String path = request.getRealPath("/jsphosting/wenjian"); //鍙栧緱鐩墠鐩綍鍦ㄤ己鏈嶇鐨勫疄闄呬綅緗? FileReader fr = new FileReader(path + "\\File.txt"); //寤虹珛FileReader鍙橀噺,騫惰瀹氱敱fr鍙橀噺鍙樻暟寮曠敤 int c = fr.read(); //浠庢枃浠朵腑璇誨彇涓涓瓧鑺? while(c != -1) //鍒ゆ柇鏄惁宸茶鍒版枃浠剁殑緇撳熬 { out.print((char)c); //杈撳嚭璇誨彇鍒扮殑鏁版嵁 c = fr.read(); //浠庢枃浠朵腑璇誨彇鏁版嵁 if(c == 13) //鍒ゆ柇鏄惁涓烘柇琛屽瓧鑺? { out.print("<BR>"); //杈撳嚭鍒嗚鏍囩 fr.skip(1); //鐣ヨ繃涓涓瓧鑺? c = fr.read(); //璇誨彇涓涓瓧鑺? } } //鍏抽棴鏂囦歡 fr.close(); %> </BODY> </HTML>銆 |
灝嗘暟鎹啓鍏ユ枃浠?/FONT>
閫氳繃璋冪敤FILEWRITER瀵硅薄鐨刉RITE錛堬級鏂規硶鍚戞枃浠朵腑鍐欏叆鏁版嵁
Write.jsp
<%@ page contentType="text/html; charset=GB2312"%> <%@ page language="java" %> <%@ page import="java.io.*" %> <HTML> <HEAD> <TITLE>灝嗘暟鎹啓鍏ユ枃浠?lt;/TITLE> </HEAD> <BODY> <CENTER> <FONT SIZE = 5 COLOR = blue>灝嗘暟鎹啓鍏ユ枃浠?lt;/FONT> </CENTER> <BR> <HR> <BR> <% String path = request.getRealPath("/jsphosting/wenjian"); //鍙栧緱鐩墠鐩綍鍦ㄤ己鏈嶇鐨勫疄闄呬綅緗? FileWriter fw = new FileWriter(path + "\\File.txt"); //寤虹珛FileWrite瀵硅薄,騫惰瀹氱敱fw瀵硅薄鍙橀噺寮曠敤 //灝嗗瓧涓插啓鍏ユ枃浠? fw.write("澶у濂?"); fw.write("紲濆ぇ瀹跺涔爅sp鎰夊揩錛?); fw.write("甯屾湜澶у鑳藉娣卞叆浜嗚Вjsp鎶鏈紒"); fw.close(); //鍏抽棴鏂囦歡 %> <P>鍐欏叆鏂囦歡鍐呭涓?lt;/P> <FONT SIZE = 4 COLOR = red> <% FileReader fr = new FileReader(path + "\\File.txt"); //寤虹珛FileReader瀵硅薄,騫惰瀹氱敱fr瀵硅薄鍙橀噺寮曠敤 BufferedReader br = new BufferedReader(fr); //寤虹珛BufferedReader瀵硅薄,騫惰瀹氱敱br瀵硅薄鍙橀噺寮曠敤 String Line = br.readLine(); //璇誨彇涓琛屾暟鎹? out.println(Line + "<BR>"); //杈撳嚭璇誨彇寰楃殑鏁版嵁 br.close(); //鍏抽棴BufferedReader瀵硅薄 fr.close(); //鍏抽棴鏂囦歡 %> </FONT> </BODY> </HTML>銆 |
閾炬帴浼犻掍腑鏂囧弬鏁頒緥瀛?/P>
jspsmartupload緇勪歡涓嬭澆涓枃渚嬪瓙錛?BR>
<TITLE>綰ц仈鑿滃崟</TITLE>
<LINK rel="stylesheet" type="text/css" href="style.css">
</HEAD>
<!--浠庢暟鎹簱涓緱鍒頒簩綰ф爮鐩俊鎭?->
<%String sql="select * from Nclass order by NclassId asc";
ResultSet rs=stmt.executeQuery(sql);
%>
<!--灝嗕簩綰ф爮鐩俊鎭繚瀛樺埌鏁扮粍subcat涓?->
<script type="text/javascript">
var onecount;
onecount=0;
subcat = new Array();
<%
int count = 0;
while(rs.next()){
%>
subcat[<%=count%>] = new Array("<%=rs.getString("NclassName")%>","<%=rs.getString("NclassId")%>","<%=rs.getString("parentId")%>");
<%
count++;
}
rs.close();
%>
onecount=<%=count%>;
<!--鍐沖畾select鏄劇ず鐨勫嚱鏁?->
function changelocation(locationid)
{
document.myform.NclassId.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][2] == locationid)
{
document.myform.NclassId.options[document.myform.NclassId.length] = new Option(subcat[i][0], subcat[i][1]);
}
}
}
</script>
<FORM method="POST" name="myform" action="adminsave.jsp?action=add">
<TABLE>
<TR>
<TD>涓綰у垎綾?lt;/TD>
<TD>
<SELECT name="classId" onChange="changelocation(document.myform.classId.options[document.myform.classId.selectedIndex].value)" size="1">
<OPTION selected value>==璇烽変竴綰у垎綾?=</OPTION>
<sql:query var="query" dataSource="${bookdev}">
SELECT * FROM class
</sql:query>
<c:forEach var="row" items="${query.rows}">
<option value="${row.classId}">${row.className}</option>
</c:forEach>
</select>
</TD>
<TD>閫夋嫨浜岀駭鍒嗙被</TD>
<TD>
<SELECT name="NclassId">
<OPTION selected value>==璇烽変簩綰у垎綾?=</OPTION>
</SELECT>
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
鍦ㄦ柊鐨?Tomcat 瀹夎錛岄爯璦洰閷勬瑕栨槸鍟熺敤鐨勶紝閫欏彲浠ユ槸涓鍊嬪緢鏈夌敤鐨勬脯瑭﹀伐鍏鳳紝濡傛灉鍍忔垜涓妯o紝鎮ㄦ湁鏅傛渻蹇樿鍦ㄦ煇鍊嬬恫闋佹噳鐢ㄧ▼寮忎嬌鐢ㄤ簡鐢氶杭 servlets錛屽彲浠ョ啊鍠湴杓稿叆綞查爜鎳夌敤紼嬪紡鐨?URL 錛屽氨鑳藉彇寰楀畬鏁寸殑鍒楄〃銆?
浣嗗湪鐢熺敘鐨勭敤閫斾笂錛屾偍鍙兘鎯沖皣瀹冮棞鎺夈傚鏋滄矑鏈夊叾浠栨澅瑗匡紝瀹冧笉榧撳嫷浣跨敤鑰呭湪浠栧戜笉鎳夎┎閫楃暀鐨勫湴鏂歸枓閫涖傝闂滄帀閫欏嬮伕闋呭熀鏈笂鍏╁嬫柟娉曪細
絎竴鍊嬮伕闋呴牀鐐虹啊鍠紝鍥犳鎴戝戝彧鐮旂┒絎簩鍊嬮伕闋呫?
闁嬪暉 web.xml 妾旀錛岄欐獢妗堝湪 $CATALINA_HOME/conf/ 鍏э紝鏄暣楂旂殑web.xml妾旀錛屽嵆鏄欒!鏈変換浣曟敼璁婇兘鏈冨獎闊胯┎ Tomcat 鎵鏈夌恫闋佹噳鐢ㄧ▼寮忋傚鏋滄偍鎯寵鏇寸簿绱扮殑鎺у埗錛屼緥濡傛煇浜涙噳鐢ㄧ▼寮忛棞鎺夛紝浣嗘煇浜涘墖闁嬪暉錛屽氨闇瑕佷互絎竴鍊嬮伕闋呬締鍋氾紝寤虹珛 index.html妾旀銆?
鎵懼嚭浠ヤ笅閮ㄥ垎錛?
<servlet> <servlet-name>default</servlet-name> <servlet-class> org.apache.catalina.servlets.DefaultServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> |
閫欐槸 web.xml 鐨勭涓閮ㄥ垎錛屾垜鍊戦棞娉ㄧ殑閬擱爡鏄細
<init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> |
灝?nbsp; <param-value> 鏀圭偤 false錛屼究鍙棞鎺夌洰閷勬瑕栵紝灝辨槸閭i杭綈″柈銆?
Tomcat浣跨敤鐨勬叄渚嬭垏Apache綞查爜浼烘湇鍣ㄧ浉鍚岋紝index.html 鏄換浣曠洰閷勭殑闋愯ō鎴栭闋併傛湁鏅傛偍鍙兘鎯蟲敼璁婄偤 page1.html 鎴栨槸 JSP 闋侀潰錛屽浠ヤ笅涓妯?nbsp; now_see_this.jsp錛?
瑕佸仛鍒伴欐ǎ錛屽彧闇闁嬪暉綞查爜紼嬪紡鐨?web.xml 錛屽姞涓婁互涓嬮欎簺錛?
<welcome-file-list> <welcome-file>now_see_this.jsp</welcome-file> <welcome-file>page1.html</welcome-file> <welcome-file>index.htm</welcome-file> </welcome-file-list> |
瑕佷護鏁村嬬郴緄辨敼璁婏紝鍙湪 $CATALINA_HOME/conf 涓嬩慨鏀規暣楂旂殑 web.xml錛屼甫灝?<welcome-file> 鏀硅畩鎸囧悜鎮ㄦ墍閬哥殑妾旀銆?