锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
<a href="#" onclick="page('a.html')">a欏甸潰</a><a href="#" onclick="page('b.html')">b欏甸潰</a>
2 a.html //鍐呭祵欏甸潰
<script language="javascript">
changeHight();
</script>
3. b.html //鍐呭祵欏甸潰
<script language="javascript">
changeHight();
</script>
4. page.js
function changeHight(){
var iFrm = parent.document.getElementById("mainIframe");
var subWeb = iFrm.contentDocument;
if(subWeb){
if (subWeb.body.scrollHeight>480)
iFrm.height = subWeb.body.scrollHeight+20;
else
iFrm.height=500;
}
if(top.document.frames["mainIframe"].document && window.document.body.scrollHeight!="0"){
parent.document.getElementById("mainIframe").style.height=window.document.body.scrollHeight;
}
if(top.document.frames["mainIframe"].document && window.document.body.scrollHeight=="0"){
parent.document.getElementById("mainIframe").style.height=500;
}
}
function page(page){
document.getElementById("mainIframe").src=page;
}
閫犳垚IE,FireFox,Opera涓璉frame鏄劇ず宸紓鍘熷洜鍦ㄤ簬
1.iframe鍦‵ireFox涓彇娉曚負parent.document.getElementById("mainIframe").contentDocument,鑰屽湪ie,opera涓負parent.document.getElementById("mainIframe").document
2.褰撻〉闈㈡棤婊氬姩鏃訛紝window.document.body.scrollHeight鍦↖E涓兘鍙栧埌錛宖ireFox鍜孫pera涓彇涓嶅埌銆?
<head>
<script language="javascript">
function a(){
window.document.getElementsByName("dx")[0].checked=true;
}
function b(){
window.document.getElementsByName("dx")[0].checked=false;
}
function c(){
window.document.getElementsByName("fx")[0].checked=true;
}
function d(){
window.document.getElementsByName("fx")[0].checked=false;
}
function e(){
for(i=0;i<window.document.getElementsByName("fx").length;i++){
if(!window.document.getElementsByName("fx")[i].checked){
window.document.getElementsByName("fx")[i].checked=true;
}
}
}
function f(){
for(i=0;i<window.document.getElementsByName("fx").length;i++){
if(window.document.getElementsByName("fx")[i].checked){
window.document.getElementsByName("fx")[i].checked=false;
}
}
}
function g(){
window.document.getElementById("lbka")[1].selected=true;
}
function h(){
alert("閫夋嫨鍙蜂負:"+window.document.getElementById("lbka").selectedIndex + " 鍊間負:" +window.document.getElementById("lbka")[window.document.getElementById("lbka").selectedIndex].value+" 鏂囨湰鍊間負:" + window.document.getElementById("lbka")[window.document.getElementById("lbka").selectedIndex].text);
}
function m(){
sel = false;
var val="";
for(i=0;i<window.document.getElementsByName("dx").length;i++){
if(window.document.getElementsByName("dx")[i].checked){
val = window.document.getElementsByName("dx")[i].value;
sel=true;
break;
}
}
if(sel){
alert("鍗曢夊間負:"+val);
}else{
alert("璇烽夋嫨鏂囦歡");
return false;
}
}
function j(){
var sel = false;
var val="";
for(i=0;i<window.document.getElementsByName("fx").length;i++){
if(window.document.getElementsByName("fx")[i].checked){
if(val==""){
val=window.document.getElementsByName("fx")[i].value;
}else{
val = val + "," +window.document.getElementsByName("fx")[i].value;
}
}
}
if(val==""){
alert("璇烽夋嫨鏂囦歡");
return false;
}else{
alert("澶嶉夊間負:"+val);
}
}
</script>
</head>
<body>
<table id="table1" width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>鏂囦歡</td>
<td>鍒楄〃妗?lt;/td>
<td>鍗曢?lt;/td>
<td>澶嶉?lt;/td>
</tr>
<tr>
<td>鏂囦歡A</td>
<td><select name="lbka"><option value="lbka1">鏂囦歡A1</option><option value="lbka2">鏂囦歡A2</option></select></td>
<td><input type="radio" name="dx" value="dxa"></td>
<td><input type="checkbox" name="fx" value="fxa"></td>
</tr>
<tr>
<td>鏂囦歡B</td>
<td><select name="lbkb"><option value="lbkb1">鏂囦歡B1</option><option value="lbkb2">鏂囦歡B2</option></select></td>
<td><input type="radio" name="dx" value="dxb"></td>
<td><input type="checkbox" name="fx" value="fxb"></td>
</tr>
<tr>
<td colspan="4">
<a href="#" onclick="a();">鍗曢堿閫変腑</a>
<a href="#" onclick="b();">鍗曢堿涓嶉変腑</a>
<a href="#" onclick="c();">澶嶉堿閫変腑</a>
<a href="#" onclick="d();">澶嶉堿涓嶉変腑</a>
<a href="#" onclick="e();">澶嶉夊叏閫?lt;/a>
<a href="#" onclick="f();">澶嶉夊叏涓嶉?lt;/a>
<a href="#" onclick="g();">閫変腑鍒楄〃妗嗘枃浠禔2</a>
<a href="#" onclick="h();">鍙栧緱閫変腑鍒楄〃妗咥鐨勫?鏂囨湰</a>
<a href="#" onclick="m();">鍒ゆ柇鍗曢夐夋嫨</a>
<a href="#" onclick="j();">鍒ゆ柇澶嶉夐夋嫨</a>
</td>
</tr>
</table>
</body>
</html>
<head>
<script language="javascript">
function add(){
//鍙栧緱琛ㄦ牸
var table = document.getElementById("table1");
//鍙栧緱琛屾暟;
var num = table.rows.length;
//澧炲姞涓琛?br> var newrow1 = table.insertRow(num-1);
var cell1 = newrow1.insertCell();
var cell2 = newrow1.insertCell();
var cell3 = newrow1.insertCell();
var cell4 = newrow1.insertCell();
//澧炲姞琛屽厓绱?br> var inputcell2 = document.createElement("<input size='32' name=''>");
cell2.appendChild(inputcell2);
var inputcell4_1 = document.createElement("<input size='32' name=''>");
var inputcell4_2 = document.createElement("<input type='button' value='鍒犻櫎鍏冪礌'onClick='del(this);'/>");
cell4.appendChild(inputcell4_1);
cell4.appendChild(inputcell4_2);
//鍒鋒柊鏍囩鏄劇ず
frash();
}
function del(obj){
//鍙栧緱鎸夐挳鎵鍦ㄨ
var i = obj.parentNode.parentNode.rowIndex;
var tab = document.getElementById("table1");
//鍒犻櫎鎸夐挳鎵鍦ㄨ
tab.deleteRow(i-1);
frash();
}
function frash(){
var table = document.getElementById("table1");
var num = table.rows.length;
//璁$畻鍔ㄦ佸厓绱犱釜鏁?br> var n = num-2;
for(i=1;i<=n;i++){
//璁劇疆鏍囩鍊?br> table.rows[i].cells[0].innerText="鍏冪礌"+i+"灞炴";
//璁劇疆灞炴у?br> table.rows[i].cells[1].childNodes[0].setAttribute("name","ysa"+i);
table.rows[i].cells[2].innerText="鍏冪礌"+i+"灞炴";
table.rows[i].cells[3].childNodes[0].setAttribute("name","ysb"+i);
}
}
</script>
</head>
<body>
<table id="table1" width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>鏍囩1</td>
<td><input name="a"></td>
<td>鏍囩2</td>
<td><input name="b"></td>
</tr>
<tr>
<td colspan="4" align="center"><a href="#" onclick="add();">澧炲姞鍏冪礌</a></td>
</tr>
</table>
</body>
</html>
<head>
<title>***涓婃搗甯傜溂鐥呴槻娌諱腑蹇冪梾浜虹粨甯愯垂鐢ㄦ姤琛?**</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!--media=print 榪欎釜灞炴у彲浠ュ湪鎵撳嵃鏃舵湁鏁?->
<style media=print>
.Noprint{display:none;}
.PageNext{page-break-after: always;}
</style>
<style>
body,td,th
{
font-size: 12px;
}
.tdp
{
border-bottom: 1 solid #000000;
border-left: 1 solid #000000;
border-right: 0 solid #ffffff;
border-top: 0 solid #ffffff;
}
.tabp
{
border-color: #000000;
border-collapse:collapse;
}
.NOPRINT {
font-family: "瀹嬩綋";
font-size: 12px;
}
</style>
<script language="javascript">
銆銆var i=0;
function zoomL(){
銆銆 i++;
銆銆 document.getElementById("f").style.zoom=1+i/3;
銆銆}
function zoomS(){
銆銆 i--;
銆銆 document.getElementById("f").style.zoom=1+i/3;
銆銆}
</script>
</head>
<body >
<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 VIEWASTEXT> </OBJECT>
<input type=button value=鎵撳嵃 onclick="document.all.WebBrowser.ExecWB(6,1)" class="NOPRINT">
<input type=button value=鐩存帴鎵撳嵃 onclick="document.all.WebBrowser.ExecWB(6,6)" class="NOPRINT">
<input type=button value=欏甸潰璁劇疆 onclick="document.all.WebBrowser.ExecWB(8,1)" class="NOPRINT">
<input type=button value=鎵撳嵃棰勮 onclick="document.all.WebBrowser.ExecWB(7,1)" class="NOPRINT">
<input type=button value=鏀懼ぇ onclick="zoomL();" class="NOPRINT">
<input type=button value=緙╁皬 onclick="zoomS();" class="NOPRINT">
<br/>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr align="center">
<td colspan="5"><font size="3">涓婃搗甯傜溂鐥呴槻娌諱腑蹇冪梾浜虹粨甯愯垂鐢ㄦ姤琛紙A錛?</font></td>
</tr>
<tr>
<td>姹囨諱漢嬈?5</td>
<td>璐圭敤鍚堣 15853.12</td>
<td>緇熻鏃ユ湡 </td>
<td>鍒惰〃浜?023</td>
<td>鍒惰〃鏃ユ湡錛?004-05-13</td>
</tr>
</table>
<table width="90%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#000000" class="tabp" id="f">
<tr>
<td >濮撳悕</td>
<td >浣忛櫌鍙?lt;/td>
<td >縐戝</td>
<td >緇撳笎鏃ユ湡</td>
<td >鍑洪櫌鏃ユ湡</td>
<td >璐圭敤鍚堣</td>
<td >鍖諱繚浜ゆ槗璐圭敤</td>
<td >鍒嗙被緇欎粯璐圭敤</td>
<td >闈炲尰淇濅氦鏄撹垂</td>
</tr>
<tr>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
</tr>
</table>
<hr align="center" width="90%" size="1" noshade class="NOPRINT" >
<!--鍒嗛〉-->
<div class="PageNext"></div>
<table width="90%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#000000" class="tabp">
<tr>
<td >絎?欏?lt;/td>
</tr>
<tr>
<td >鐪嬪埌鍒嗛〉浜嗗惂</td>
</tr>
<tr>
<td > </td>
</tr>
<tr>
<td > </td>
</tr>
<tr>
<td ><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" >榪欐牱鐨勬姤琛?
瀵逛竴鑸殑瑕佹眰灝卞浜嗐?lt;/td>
<td> </td>
</tr>
</table></td>
</tr>
</table>
<table width="780%" border="1" class="Noprint">
<tr>
<td>鑳戒笉鑳芥墦鍗?lt;/td>
</tr>
</table>
</body>
</html>
涓嬮潰鏄儴鍒嗕唬鐮併?br><form name="ajform" action="/da.do" method="post" enctype="multipart/form-data">
<tr><td><input name="a" value=""></td></tr>
<tr><td><input name="b" type="file"></td></tr>
<tr><td><a href="#" onclick="checksubmit();">鎻愪氦</a></td></tr>
</form>
4.灝噅sp闋侀潰鍙冩暩鍜孷O閫茶綞佸畾銆傜秮瀹氱殑鏂規硶鐐洪爜闈㈠厓绱爊ame鍜孷O灝嶈薄灝嶆噳錒愮暥閫茶娣卞堡嬈$殑綞佸畾鏅傦箰瑕佹敞鎰忥箰鍦ㄨ畩閲忕殑get鏂規硶涓茶鍒濆鍖栥傚湪servlet2.4瀹瑰櫒涓彲浠ヤ笉鐢╟:out妯欑堡
杓稿叆妗嗙秮瀹氾箷<input name="user.name"聽 value = "<c:out value="${loginActionVo.user.name}"/>" type="text" disabled="disabled"聽 size="14" maxlength="14" /></td>
VO鐐猴箷
聽public class loginActionVo{
聽聽聽聽private User user;
聽聽聽聽public聽User getUser(User user){
聽聽聽聽聽聽if( user == null){
聽聽聽聽聽聽聽聽聽user = new User();
聽聽聽聽聽聽}
聽聽聽聽聽聽return user;
聽聽聽}
聽}
聽聽聽
2 銆? 鈥減ost鈥濇柟娉曟檪
聽聽聽2銆?銆? 棣栧厛寰楀埌command灝嶈薄,濡傛灉SessionForm = false錒愯鐢╢ormBackingObjectde鍓靛緩
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽濡傛灉SessionForm = true,寰瀝equest.getSession涓緱鍒板師command灝嶈薄錒愮劧寰屽皣command灝嶈薄寰?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Session涓埅闄ゃ?br />聽 2銆?銆?聽 鐒跺緦鏈冨壍寤轟竴鍊婼ervletRequestDataBinder灝嶈薄錒愯!闈㈠寘鎷琧ommand灝嶈薄錒愬拰鍏朵粬涓浜涘爆鎬с?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽閫欏嬮亷紼嬪皣瑾跨敤initBinder()錒斿彲浠ヨ瀵欏嬫柟娉曞垵濮嬪寲鏁告摎銆?br />聽2銆?銆? 瑾跨敤processFormSubmission(HttpServletRequest request, HttpServletResponse response, Object command,聽 BindException errors)銆傛湁閷鏅傝繑鍥瀎ormview闋侀潰錒愬惁鍓囬插叆successview闋侀潰銆傞欏嬮亷紼嬪皣瑾跨敤onSubmit(Object command)錒愬繀闋堣瀵欏嬫柟娉曟斁鍏ユキ鍕欓倧杓?br />聽
聽聽聽
3./form.jsp
<%@taglib prefix="spring" uri=">
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head><title>Login</title></head>
<body>
聽<spring:bind path="command.*">
聽聽聽聽聽聽聽 <font color="red"><b>${status.errorMessage}</b></font><br>
聽聽聽 </spring:bind>
聽聽 聽 聽聽璜嬭幾鍏ヤ嬌鐢ㄨ呭悕紼辮垏瀵嗙⒓錛?lt;p>聽聽 聽
聽聽聽 <form name="loginform" action="login.do" method="post">
聽聽聽聽 <spring:bind path="command.username">聽聽
聽聽聽聽聽聽聽聽 聽鍚嶇ū <input type="text" name="${status.expression}" value="${status.value}"/>
聽聽聽聽聽聽聽聽 聽<font color="red">${status.errorMessage}</font><br>
聽聽聽聽 </spring:bind>
聽聽聽聽 <spring:bind path="command.password">聽
聽聽聽聽聽聽聽聽 聽瀵嗙⒓ <input type="password" name="${status.expression}" value="${status.value}"/>
聽聽聽聽聽聽聽聽 聽<font color="red">${status.errorMessage}</font><br>
聽聽聽聽 </spring:bind>
聽聽聽聽聽聽聽 <input type="submit" value="紕哄畾"/>
聽聽聽 </form>
聽 聽聽聽 娉ㄦ剰錛氳幾鍏ラ尟瑾ゆ渻鍐嶅洖鍒伴欏嬮爜闈腑銆?聽
</body>
</html>
4./index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
聽 <head>
聽 </head>
聽 <body>聽聽
聽聽聽 begin......
聽聽聽 <%
聽聽聽聽 response.sendRedirect("login.do");
聽聽聽 %>
聽 </body>
</html>
5./success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri=">
<html>
<head><title>Login Success</title></head>
<body>
聽聽聽 <H1><c:out value="鐢ㄦ埗鍚嶏箷${user}"/></H1>
</body>
</html>
6./WEB-INF/classes/onlyfun/caterpillar/LoginAction.class
package onlyfun.caterpillar;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.*;
public class LoginAction extends SimpleFormController {聽
聽聽聽聽private User user;
聽聽聽 protected ModelAndView onSubmit(Object command,BindException errors) throws Exception {
聽聽聽聽聽聽 LoginForm form = (LoginForm) command;聽
聽聽聽聽聽聽聽String username = user.getUsername();
聽聽聽聽聽聽 String password = user.getPassword();
聽聽聽聽聽聽 if(username.equals(form.getUsername()) &&
聽聽聽 聽聽聽聽 password.equals(form.getPassword())) {
聽聽聽聽聽聽聽聽聽 return new ModelAndView(this.getSuccessView(),"user", form.getUsername());
聽聽聽聽聽聽 }
聽聽聽聽聽聽 else {
聽聽聽 聽聽聽 errors.reject("loginfail", "浣跨敤鑰呭悕紼辨垨瀵嗙⒓閷");
聽聽聽 聽聽聽 if(!(username.equals(form.getUsername()))){
聽聽聽 聽聽聽聽 errors.rejectValue("username", "error", null, "浣跨敤鑰呭悕紼遍尟瑾?);
聽聽聽 聽聽聽 }
聽聽聽 聽聽聽if(!(password.equals(form.getPassword()))){
聽聽聽 聽聽聽聽 errors.rejectValue("password", "error", null, "瀵嗙⒓閷");
聽聽聽 聽聽聽 }聽聽 聽聽聽
聽聽聽聽聽聽聽聽聽聽 return new ModelAndView(this.getFormView(),errors.getModel());
聽聽聽聽聽聽 }
聽聽聽 }
聽聽聽聽public User getUser() {
聽聽聽聽聽return user;
聽聽聽聽}
聽聽聽聽public void setUser(User user) {
聽聽聽聽聽this.user = user;
聽聽聽聽}
}
7./WEB-INF/classes/onlyfun/caterpillar/LoginForm.class
package onlyfun.caterpillar;
public class LoginForm {
聽聽聽 private String username;
聽聽聽 private String password;
聽聽聽
聽聽聽 public void setUsername(String username) {
聽聽聽聽聽聽 this.username = username;
聽聽聽 }
聽聽聽
聽聽聽 public void setPassword(String password) {
聽聽聽聽聽聽 this.password = password;
聽聽聽 }
聽聽聽
聽聽聽 public String getUsername() {
聽聽聽聽聽聽 return username;
聽聽聽 }
聽聽聽
聽聽聽 public String getPassword() {
聽聽聽聽聽聽 return password;
聽聽聽 }
}
8./WEB-INF/tags/spring.tld
9./WEB-INF/tags/c.tld
10./WEB-INF/classes/onlyfun/caterpillar/User.class
package onlyfun.caterpillar;
public class User {
聽private String username;
聽private String password;
聽public String getPassword() {
聽聽return password;
聽}
聽public void setPassword(String password) {
聽聽this.password = password;
聽}
聽public String getUsername() {
聽聽return username;
聽}
聽public void setUsername(String username) {
聽聽this.username = username;
聽}
}
鍦?/span> Java 鐨勪笘鐣岃!錛岃鎿嶆帶 XML 錛屾渶綈″柈鐨勬柟娉曡帿閬庢柤浣跨敤 JDOM 銆傚湪閫欒!鎴戠啊鍠殑浠嬬垂濡備綍鐢?/span> JDOM 寰炵劇鍒版湁鐨勫緩绔嬩竴鍒?/span> XML 銆佺暥鏈変竴浠?/span> XML file 鏅傦紝濡備綍灝囬欏?/span> XML file 璁閫茬▼寮忚!鍙婂浣曞埄鐢?/span> JDOM 灝?/span> XML 閫忛亷 XSLT 杞夋垚 HTML 銆?/span>
JDOM 鏄敱 Brett Mclaughlin 鍜?/span> Jason Hunter 綬ㄥ錛屽湪 http://www.jdom.org 鍙厤璨諱笅杓夈?/span>
2.聽聽聽聽聽聽聽聽
寤虹珛銆佹柊澧炪佸埅闄ゃ佽幾鍑?/span>
綃勪緥 1 灞曠ず濡備綍寤虹珛銆佹柊澧炪佸埅闄ゅ強杓稿嚭涓浠?/span> XML 錛屾瘡浠?/span> XML 鍦?/span> JDOM 瑁℃槸鐢變竴鍊?/span> Document 欏炲垾浠h〃錛屾墍浠ヤ竴闁嬪鎴戝戣鍏?/span> new 涓鍊?/span> Document 錛屽湪寤烘 Document 鏅傛噳鎸囨槑鏍圭瘈榛烇紝濡傛灉娌掓湁鎸囨槑錛屽湪寤烘鎳夌敱 setRootElement 璦畾銆傚熀鏈笂 XML 閮藉彲浠ュ寲鎴愪竴鍊嬫ü鐙緄愭錛屾墍浠ワ紝鍦ㄧ敘鐢熸牴綃榛炰箣寰岋紝灝辯敱鏍圭瘈榛為枊濮嬪鍔犲瓙綃榛烇紝鏂板鐨勬柟寮忔槸鍛煎彨 Element.addContent 灝囨柊鐨勭瘈榛炲姞鍏ャ傚埅闄ゅ鏋滅煡閬撴槸鏌愮瘈榛炰互涓嬬殑瀛愮瘈榛烇紝鍓囧彲鍛煎彨 Element.getChildren 鍙栧緱鎵鏈夊瓙綃榛烇紝鍐嶆壘鍑鴻鍒櫎鐨勯粸綃浜堜互鍒櫎銆?/span>
鐣跺緩绔嬪ソ XML 涔嬪緦錛岄氬父鎴戝戞渻甯屾湜灝囧畠杓稿嚭鍒版獢妗堬紝 JDOM 鎻愪緵浜?/span> XMLOutputter 欏炲垾渚涙垜鍊戣幾鍑轟箣鐢紝杓稿嚭鍓嶈鍏堣ō瀹氱法紕兼柟寮忥紝涓嶇劧錛屾渻浠?/span> UTF-8 鐐洪爯璦鹼紝 setNewlines 鍓囨槸鎸囨槑杓稿嚭鏅傛槸鍚﹁騫垜鍊戞柗琛岋紝鏂逛究闁辮畝錛屽鏋滄矑鏈夊姞閫欒鎸囦護錛岄爯璦槸涓嶆渻鏂瘋錛岄偅楹兼墍鏈夎硣鏂欏皣鍦ㄥ悓涓琛屼笂銆?/span>
===== 綃勪緥 1 =====
import org.jdom.*;
import org.jdom.output.*;
import java.io.*;
import java.util.List;
public class myCreate {
聽 public myCreate() {
聽聽聽 String[] strChapter = { "XML 綈¤珫 ", " 綬ㄥ XML", " 鍓栨瀽 XML", " 绱勫埗 XML", " 椹楁 XML", " 杞夋彌 XML" };
聽聽聽 Element elmtRoot = new Element("Article");
聽聽聽 Document docJDOM = new Document(elmtRoot);
聽聽聽 // 鏂板
聽聽聽 for(int i=0; i<6; i++) {
聽聽聽聽聽 Element elmtChapter = new Element("Chapter");
聽聽聽聽聽 elmtChapter.addContent(strChapter[i]);
聽聽聽聽聽 elmtChapter.setAttribute("sort", new Integer(i).toString());
聽聽聽聽 聽elmtRoot.addContent(elmtChapter);
聽聽聽 }
聽聽聽 // 鍒櫎
聽聽聽 List lstChapter = elmtRoot.getChildren("Chapter");
聽聽聽 lstChapter.remove(4);
聽聽聽 // 杓稿嚭
聽聽聽 OutputXML(docJDOM, "e:/myJDOM.xml");
聽 }
聽 private void OutputXML(Document docXML, String strFilename) {
聽聽聽 XMLOutputter fmt = new XMLOutputter();
聽聽聽 try {
聽聽聽聽聽 fmt.setEncoding("big5");
聽聽聽聽聽 fmt.setNewlines(true);
聽聽聽聽聽 FileWriter fwXML = new FileWriter(strFilename);
聽聽聽聽聽 fmt.output(docXML, fwXML);
聽聽聽聽聽 fwXML.close();
聽聽聽 }
聽聽聽 catch (IOException e) {
聽聽聽聽 聽e.printStackTrace();
聽聽聽 }
聽 }
聽 public static void main(String[] args) {
聽聽聽 myCreate myCreate1 = new myCreate();
聽 }
}
3.聽聽聽聽聽聽聽聽
璁閫蹭竴浠?/span>
XML file
鐩墠 XML 鏈甯歌鎷夸締鎳夌敤鐨勯牁鍩熶箣涓澶ф灝辨槸鐣朵綔璦畾妾旓紝鍥犳錛屽浣曞緸妾旀涓畝鍏ヤ竴浠藉凡瀛樺湪鐨?/span> XML 鏇寸偤閲嶈銆?/span>
JDOM 鏄埄鐢?/span> SAX 鎴?/span> DOM 渚嗗墫鏋?/span> XML 錛岀敤 SAX 鏈冩瘮 DOM 錛屾墍浠ヤ竴鑸兘鏄敤 SAX 錛屽鏋滃皪 SAX 涓嶇啛鎮夛紝鍦?/span> http://www.saxproject.org/ 鐩擱棞鏂囦歡璩囨枡銆?/span>
綃勪緥 2 灝辨槸鐢?/span> SAX 寤虹珛 Document 錛屽湪寤虹珛 SAXBuilder 鏅傚偝鍏ョ殑鍙冩暩鎸囧嚭鏄惁鐢?/span> DTD 椹楁 XML 鐨勫悎娉曟э紝 true 琛ㄧず瑕侊紝 false 琛ㄧず涓嶈銆傜暥鍛煎彨 build 涔嬪緦 JDOM 灝卞凡綞撳公鎴戝戠敤 SAX 寤虹珛濂戒竴媯?/span> XML Tree 錛屽姝ゆ垜鍊戝氨鍙互寰堟柟渚跨敱 Tree 涓壘鍒版垜鍊戣鐨勭瘈榛炪?/span>
===== 綃勪緥 2 =====
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import java.io.*;
import java.util.List;
public class myRead {
聽 public myRead() {
聽聽聽 Document docJDOM;
聽聽聽 // 鍒╃敤 SAX 寤虹珛 Document
聽聽聽 SAXBuilder bSAX = new SAXBuilder(false);
聽聽聽 try {
聽聽聽聽聽 docJDOM = bSAX.build(new File("e:/myJDOM.xml"));
聽聽聽 }
聽聽聽 catch (JDOMException e) {
聽聽聽聽聽 e.printStackTrace();
聽聽聽聽聽 return;
聽聽聽 }
聽聽聽 // 鍦ㄦ牴綃榛炰腑鍔犲叆涓鍊嬫柊鐨勫瓙綃榛?/span>
聽聽聽 Element elmtRoot = docJDOM.getRootElement();
聽聽聽 Element elmtChapter = new Element("Chapter");
聽聽聽 elmtChapter.setText(" 椹楁 XML");
聽聽聽 elmtChapter.setAttribute("sort", "4");
聽聽聽 elmtRoot.addContent(elmtChapter);
聽聽聽 // 鍗板嚭鎵鏈夋牴綃榛炵殑瀛愮瘈榛?/span>
聽聽聽 List lstChildren = elmtRoot.getChildren("Chapter");
聽聽聽 for(int i=0; i<lstChildren.size(); i++) {
聽聽聽聽聽 Element elmtChild = (Element) lstChildren.get(i);
聽聽聽聽聽 System.out.println("Child " + i);
聽聽聽聽聽 System.out.println("聽 Text:" + elmtChild.getText());
聽聽聽聽聽 System.out.println("聽 Attribute:" + elmtChild.getAttributeValue("sort"));
聽聽聽 }
聽聽聽 // 杓稿嚭鍒版獢妗?/span>
聽聽聽 OutputXML(docJDOM, "e:/myJDOM2.xml");
聽 }
聽 private void OutputXML(Document docXML, String strFilename) {
聽聽聽 XMLOutputter fmt = new XMLOutputter();
聽聽聽 try {
聽聽聽聽聽 fmt.setEncoding("big5");
聽聽聽聽聽 fmt.setNewlines(true);
聽聽聽聽聽 FileWriter fwXML = new FileWriter(strFilename);
聽聽聽聽聽 fmt.output(docXML, fwXML);
聽聽聽聽聽 fwXML.close();
聽聽聽 }
聽聽聽 catch (IOException e) {
聽聽聽聽聽 e.printStackTrace();
聽聽聽 }
聽 }
聽 public static void main(String[] args) {
聽聽聽 myRead myRead1 = new myRead();
聽 }
}
4.聽聽聽聽聽聽聽聽
杞夋彌
XML
鍒?/span>
HTML
瑕佸皣 XML 杞夋垚 HTML 鐣剁劧瑕佸厛瀵ソ XSL 錛屼絾鏄嵆浣垮濂?/span> XSL 錛?/span> JDOM 涔熶甫涓嶆彁渚?/span> XML 杞夋彌錛屽垢濂藉湪 JDOM 瀹夎濂戒箣寰岋紝灝辨渻鏈?/span> Apache 鐨?/span> Xalan 錛屽畠鍙互騫垜鍊戝仛閫欐ǎ鐨勮綁鎻涖?/span>
瑕佷嬌鐢?/span> Apache 鐨?/span> Xalan 錛岄鍏堢⒑瀹?/span> xalan.jar 鍦?/span> classpath 瑁°?/span> Xalan 鐨勭涓鍊嬬敤娉曟槸鍦ㄥ懡浠ゅ垪鍩瘋錛屾寚浠ゅ涓嬧?/span>
C:\> java org.apache.xalan.xslt.Process 鈥揑N XML 鏂囦歡 鈥揦SL XSL 妯g増 鈥揙UT 杓稿嚭妾斿悕
鍛戒護鍒楃殑鐢ㄦ硶鍦ㄤ竴鑸殑閬嬬敤瑁℃槸寰堟柟渚匡紝浣嗘槸鎴戝戞湁鑸堣叮鐨勬槸鍦ㄧ▼寮忚!鎬庨杭鐢ㄣ傜瘎渚?/span> 4 鎻愪緵浜嗕竴鍊嬬啊鍠殑 sample 銆?/span>
===== 綃勪緥 4 =====
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.stream.*;
public class myGenHTML {
聽 public myGenHTML(String strXML, String strXSL, String strHTML) {
聽聽聽 try {
聽聽聽聽聽 GenHTML(strXML, strXSL, strHTML);
聽聽聽 }
聽聽聽 catch (TransformerConfigurationException e) {
聽聽聽聽聽 e.printStackTrace();
聽聽聽 }
聽聽聽 catch (TransformerException e) {
聽聽聽聽聽 e.printStackTrace();
聽聽聽 }
聽 }
聽 private void GenHTML(String strXMLFile, String strXSLFile, String strHTMLFile) throws TransformerConfigurationException, TransformerException
聽 {
聽聽聽 TransformerFactory myFactory = TransformerFactory.newInstance();
聽聽聽 Transformer myTransformer = myFactory.newTransformer(new StreamSource(strXSLFile));
聽聽聽 myTransformer.transform(new StreamSource(strXMLFile), new StreamResult(strHTMLFile));
聽 }
聽 public static void main(String[] args) {
聽聽聽 myGenHTML myGenHTML1 = new myGenHTML(args[0], args[1], args[2]);
聽 }
}
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.*;
public class LoginAction extends SimpleFormController {
聽聽聽 protected ModelAndView onSubmit(Object command) throws Exception {
聽聽聽聽聽聽 LoginForm form = (LoginForm) command;
聽聽聽聽聽聽聽
聽聽聽聽聽聽 if("111".equals(form.getUsername()) &&
聽聽聽聽聽聽聽聽聽聽聽聽 "111".equals(form.getPassword())) {
聽聽聽聽聽聽聽聽聽 return new ModelAndView(this.getSuccessView(),"user", form.getUsername());
聽聽聽聽聽聽 }
聽聽聽聽聽聽 else {
聽聽聽聽聽聽聽聽聽聽 return new ModelAndView(this.getFormView());
聽聽聽聽聽聽 }
聽聽聽 }
}
4./WEB-INF/classes/onlyfun/caterpillar/LoginForm.class
package onlyfun.caterpillar;
public class LoginForm {
聽聽聽 private String username;
聽聽聽 private String password;
聽聽聽
聽聽聽 public void setUsername(String username) {
聽聽聽聽聽聽 this.username = username;
聽聽聽 }
聽聽聽
聽聽聽 public void setPassword(String password) {
聽聽聽聽聽聽 this.password = password;
聽聽聽 }
聽聽聽
聽聽聽 public String getUsername() {
聽聽聽聽聽聽 return username;
聽聽聽 }
聽聽聽
聽聽聽 public String getPassword() {
聽聽聽聽聽聽 return password;
聽聽聽 }
}
5./form.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head><title>Login</title></head>
<body>
聽聽聽 璜嬭幾鍏ヤ嬌鐢ㄨ呭悕紼辮垏瀵嗙⒓錛?lt;p>
聽聽聽 <form name="loginform" action="login.do" method="post">
聽聽聽聽聽聽聽 鍚嶇ū <input type="text" name="username"/><br>
聽聽聽聽聽聽聽 瀵嗙⒓ <input type="password" name="password"/><br>
聽聽聽聽聽聽聽 <input type="submit" value="紕哄畾"/>
聽聽聽 </form>
聽聽聽 娉ㄦ剰錛氳幾鍏ラ尟瑾ゆ渻鍐嶅洖鍒伴欏嬮爜闈腑銆?
</body>
</html>
6./success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head><title>Login Success</title></head>
<body>
聽聽聽 <H1> Hello, ${user}!!</H1>
聽聽聽 This is your secret gift.
</body>
</html>
import java.io.IOException;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.bind.RequestUtils;
public class HelloUserAction implements Controller {
聽聽 private String helloWord;
聽聽聽 private String viewPage;
聽聽聽
聽聽 public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res)
聽聽聽聽聽聽聽 throws ServletException, IOException {
聽聽聽聽 //String user = RequestUtils.getRequiredStringParameter(req, "user");
聽聽聽聽聽 Map model = new HashMap();
聽聽聽聽聽 model.put("helloWord", getHelloWord());
聽聽聽聽 // model.put("user", user);
聽聽聽
聽聽聽聽聽聽 return new ModelAndView(getViewPage(), model);
聽聽聽 }
聽聽聽
聽聽聽 public void setViewPage(String viewPage) {
聽聽聽聽聽聽 this.viewPage = viewPage;
聽聽聽 }
聽聽聽
聽聽聽 public String getViewPage() {
聽聽聽聽聽聽 return viewPage;
聽聽聽 }
聽聽聽 public void setHelloWord(String helloWord) {
聽聽聽聽聽聽 this.helloWord = helloWord;
聽聽聽 }
聽聽聽
聽聽聽 public String getHelloWord() {
聽聽聽聽聽聽 return helloWord;
聽聽聽 }
}
jsEvent.EventRouter.prototype.notify = function(e){
聽var lsnrs = this.lsnrs;
聽for(var i=0;i<lsnrs.length;i++){
聽聽var lsnr = lsnrs[i];
聽聽lsnr.call(this,e);
聽}
};
jsEvent.EventRouter.callback=function(event){
聽var e = event || window.event;
聽var router = this.eventRouter;
聽router.notify(e);
};
Array.prototype.append = function(obj,nodup){
聽if(nodup){聽
聽聽this[this.length]=obj;
聽}
};
2.mousemat.css
.mousemat{
聽background-color:#ffe0d0;
聽border:solid maroon 0px;
聽position:absolute;
聽margin:0px;
聽width:500px;
聽height:500px;
聽top:50px;
聽left:50px;聽
}
.thumbnail{
聽background-color:#ffe0d0;
聽border:solid maroon 0px;
聽position:absolute;
聽margin:0px;
聽width:100px;
聽height:100px;
聽top:50px;
聽left:600px;聽
}
.cursor{
聽background-color:blue;
聽position:relative;
聽height:5px;
聽width:5px;
}
3.mousemat.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "<html>
聽<head>
聽聽<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
聽聽<title>Untitled Document</title>
聽聽<link rel='stylesheet' type = 'text/css' href = 'mousemat.css'>
聽聽<script type ='text/javascript' src = 'EventRouter.js'></script>
聽聽<script type='text/javascript'>
聽聽聽var cursor = null;
聽聽聽window.onload = function(){
聽聽聽聽var mat = document.getElementById('mousemat');
聽聽聽聽cursor = document.getElementById('cursor');
聽聽聽聽var mouseRouter = new jsEvent.EventRouter(mat,"onmousemove");
聽聽聽聽//var mouseRouter = new jsEvent.EventRouter(mat,"onclick");
聽聽聽聽mouseRouter.addListener(writeStatus);
聽聽聽聽mouseRouter.addListener(drawThumbnail);
聽聽聽};
聽聽聽function writeStatus(e){
聽聽聽聽window.status = e.clientX + "," + e.clientY;
聽聽聽}
聽聽聽function drawThumbnail(e){
聽聽聽聽cursor.style.left = ((e.clientX/5)-2) + "px";
聽聽聽聽cursor.style.top = ((e.clientY/5)-2) + "px";
聽聽聽}
聽聽</script>
聽</head>
聽<body>
聽聽<div class='mousemat' id='mousemat'></div>
聽聽<div class='thumbnail' id='thumbnail'>
聽聽聽<div class = 'cursor' id = 'cursor'></div>
聽聽</div>
聽</body>
</html>
function load(){
聽var domEl = document.getElementById('b1');聽
聽JsButton(value,domEl);
}
function JsButton(value,domEl){
聽this.domEl = domEl;
聽this.value = value;
聽this.domEl.buttonObj = this;
聽//this.domEl.onclick = function(){
聽聽//alert(this.value);
聽//}
聽this.domEl.onclick = JsButton.prototype.clickHandler;
}聽
JsButton.prototype.clickHandler = function(){
聽//alert(this.value); 鍦ㄥ洖瑾垮嚱鏁鎬腑瑾跨敤this灞ф檪錒?br />聽//寰楀埌鐨勬槸灝嶆噳鐨凞OM鍏冪礌瑁¢潰鐨勬暩鍊鹼箰姝よ檿鐐虹┖銆?br />聽var buttonObj = this.buttonObj;
聽var value =(buttonObj && buttonObj.value)? buttonObj.value:"unknown value";
聽alert(value);
}
function makeKeyboard(el){
聽for(var i=0;i<notes.length;i++){
聽聽var key=document.createElement("DIV");
聽聽key.className = notes[i] + " musicalButton";
聽聽alert(key.className);
聽聽key.note = notes[i];
聽聽key.onclick = playNote;
聽聽el.appendChild(key);
聽}聽
}
function playNote(event){
聽var note = this.note;
聽var console = document.getElementById('console');
聽if(note && console){
聽聽console.innerHTML +=note + ".";
聽}
}
function playNote(event){
聽var note = this.note;
聽var console = document.getElementById("console");
聽if(note && console){
聽聽console.innerHTML += note + ".";
聽}
}
聽
2錛? 綬ㄧ⒓鏂瑰紡鐨勭啊浠?br />銆銆String搴忓垪鍖栨垚byte鏁哥祫鎴栧弽搴忓垪鍖栨檪闇瑕侀伕鎿囨紕虹殑綬ㄧ⒓鏂瑰紡銆傚鏋滅法紕兼柟寮忎笉姝g⒑錛屽氨鏈冨緱鍒頒竴浜?x3F鐨勫箋傚父鐢ㄧ殑瀛楃綬ㄧ⒓鏂瑰紡鏈塈SO8859_1銆丟B2312銆丟BK銆乁TF-8/UTF-16/UTF-32銆?br />ISO8859_1鐢ㄤ締綬ㄧ⒓鎷変竵鏂囷紝瀹冪敱鍠瓧綃錛?錛?55錛夌祫鎴愩?br />銆銆GB2312銆丟BK鐢ㄤ締綬ㄧ⒓綈¢珨涓枃錛屽畠鏈夊柈瀛楃瘈鍜岄洐瀛楃瘈娣峰悎緄勬垚銆傛渶楂樹綅鐐?鐨勫瓧綃鍜屼笅涓鍊嬪瓧綃妲嬫垚涓鍊嬫饑瀛楋紝鏈楂樹綅鐐?鐨勫瓧綃鏄疉SCII紕箋?br />銆銆UTF-8/UTF-16/UTF-32鏄湅闅涙婧朥NICODE鐨勭法紕兼柟寮忋?鐢ㄥ緱鏈澶氱殑鏄疷TF-8錛屼富瑕佹槸鍥犵偤瀹冨湪灝嶆媺涓佹枃綬ㄧ⒓鏅傜瘈绱勭┖闁撱?/p>
UNICODE鍊?UTF-8綬ㄧ⒓
U-00000000 - U-0000007F: 0xxxxxxx
U-00000080 - U-000007FF: 110xxxxx 10xxxxxx
U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
涓夈丣2SE涓浉闂滅殑鍑芥暩
String str =鈥濊嫳鈥?
//鍙栧緱GB2312綬ㄧ⒓鐨勫瓧綃
byte[] bytesGB2312 = str.getBytes(鈥淕B2312鈥?;
//鍙栧緱騫寵嚭緙虹渷綬ㄧ⒓鐨勫瓧綃(solaris鐐篒SO8859_1,windows鐐篏B2312)
byte[] bytesDefault = str.getBytes();
//鐢ㄦ寚瀹氱殑綬ㄧ⒓灝囧瓧綃杞夋彌鎴愬瓧絎︿覆
String newStrGB = new String(bytesGB2312, 鈥淕B2312鈥?;
//鐢ㄥ鉤鑷虹己鐪佺殑綬ㄧ⒓灝囧瓧綃杞夋彌鎴愬瓧絎︿覆(solaris鐐篒SO8859_1,windows鐐篏B2312)
String newStrDefault = new String(bytesDefault);
//鐢ㄦ寚瀹氱殑綬ㄧ⒓寰炲瓧綃嫻佽闈㈣畝鍙栧瓧絎?br />InputStream in = xxx;
InputStreamReader reader = InputStreamReader( in, 鈥淕B2312鈥?;
char aChar = reader.read();
鍥涖丣SP銆佹暩鎿氬韓鐨勭法紕?br />4錛? JSP涓殑綬ㄧ⒓
(1) 闈滄厠鑱叉槑:
CHARSET鏈夊叐鍊嬩綔鐢細
JSP鏂囦歡鐨勭法紕兼柟寮忥細鍦ㄨ畝鍙朖SP鏂囦歡銆佺敓鎴怞AVA欏炴檪錛屾簮JSP鏂囦歡涓饑瀛楃殑綬ㄧ⒓
JSP杓稿嚭嫻佺殑綬ㄧ⒓鏂瑰紡錛氬湪鍩瘋JSP鏅傦紝寰response嫻佽闈㈠鍏ユ暩鎿氱殑綬ㄧ⒓鏂瑰紡
(2) 鍕曟厠鏀硅畩:鍦ㄥ線response嫻佽闈㈠鏁告摎鍓嶅彲浠ヨ鐢╮esponse.setContentType()錛岃ō瀹氭紕虹殑綬ㄧ⒓欏炲瀷銆?br />(3) 鍦═OMCAT涓紝鐢盧equest.getParameter() 寰楀埌鐨勫弮鏁革紝綬ㄧ⒓鏂瑰紡閮芥槸ISO8859_1銆傛墍浠ュ鏋滃湪鐎忚鍣ㄨ幾鍏ユ鍏ц幾鍏ヤ竴鍊嬫饑瀛椻滆嫳鈥濓紝鍦ㄤ己鏈嶅櫒绔氨寰楀埌涓鍊婭SO8859_1綬ㄧ⒓鐨勶紙0x00,0xD3,0x00,0xA2錛夈傛墍浠ラ氬父鍦ㄦ帴鏀跺弮鏁告檪杞夌⒓錛?br />String wrongStr = response.getParameter(鈥渘ame鈥?;
String correctStr = new String(wrongStr.getBytes(鈥淚SO8859_1鈥?,鈥滸B2312鈥?;
鍦ㄦ渶鏂扮殑SERVLET瑕忕瘎瑁忛潰錛屼篃鍙互鍦ㄧ嵅鍙栧弮鏁鎬箣鍓嶅煼琛屽涓嬩唬紕鹼細
request.setCharacterEncoding(鈥淕B2312鈥?;
4錛? 鏁告摎搴殑綬ㄧ⒓
(1) 鏁告摎搴嬌鐢║TF-16
濡傛灉String涓槸UNICODE瀛楃錛屽鍏ヨ畝鍑烘檪涓嶉渶瑕佽綁紕?br />(2) 鏁告摎搴嬌鐢↖SO8859_1
濡傛灉String涓槸UNICODE瀛楃錛屽鍏ヨ畝鍑烘檪闇瑕佽綁紕?br />瀵叆錛歋tring newStr = new String(oldStr.getByte(鈥淕B2312鈥?, 鈥淚SO8859_1鈥?;
璁鍑猴細String newStr = new String(oldStr.getByte(鈥淚SO8859_1鈥?,鈥滸B2312鈥?;
浜斻佹簮鏂囦歡鐨勭法紕?br />5錛? 璩囨簮鏂囦歡
璩囨簮鏂囦歡鐨勭法紕兼柟寮忓拰綬ㄨ集騫寵嚭鐩擱棞銆傚湪WINDOWS騫沖彴涓嬬法瀵殑璩囨簮鏂囦歡錛屼互GB2312鏂瑰紡綬ㄧ⒓銆傚湪綬ㄨ鏅傞渶瑕佽綁紕鹼紝浠ョ⒑淇濆湪鍚勫嬪鉤鑷轟笂鐨勬紕烘э細
native2ascii 鈥揺ncoding GB2312 source.properties
閫欐ǎ寰炶硣婧愭枃浠朵腑璁鍑虹殑灝辨槸姝g⒑鐨刄NICODE瀛楃涓層?br />5錛? 婧愭枃浠?br />婧愭枃浠剁殑綬ㄧ⒓鏂瑰紡鍜岀法杓鉤鑷虹浉闂溿傚湪WINDOWS騫沖彴涓嬮枊鐧肩殑婧愭枃浠訛紝浠B2312鏂瑰紡綬ㄧ⒓銆傚湪綬ㄨ鐨勬檪鍊欙紝闇瑕佹寚瀹氭簮鏂囦歡鐨勭法紕兼柟寮忥細
javac 鈥揺ncoding GB2312
JAVA綬ㄨ寰岀敓鎴愮殑瀛楃瘈鏂囦歡鐨勭法紕肩偤UTF-8銆?br />
榛炴渶鏂扮増TOMCAT4.1.18鏀彺request.setCharacterEncoding(String enc)
榛炶硣婧愭枃浠惰綁紕兼垚company.name=\u82f1\u65af\u514b
榛炲鏋滄暩鎿氬韓浣跨敤utf-16鍓囦笉闇瑕侀欓儴鍒嗚綁紕?br />榛為爜闈笂鎳夋湁
杞夌⒓鈪?
String s = new String
(request.getParameter(鈥渘ame鈥?.getBytes(鈥淚SO8859_1鈥?,鈥滸B2312鈥?;
杞夌⒓鈪?
String s = new String(name.getBytes(鈥淕B2312鈥?,鈥滻SO8859_1鈥?;
杞夌⒓鈪?
String s = new String(name.getBytes(鈥淚SO8859_1鈥?,鈥?GB2312鈥?;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;
public class ExcelReader {
聽聽聽聽public static void main( String錛伙冀 args ) {
聽聽聽聽聽聽聽聽Connection c = null;
聽聽聽聽聽聽聽聽Statement stmnt = null;
聽聽聽聽聽聽聽聽try {
聽聽聽聽聽聽聽聽聽聽聽聽Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
聽聽聽聽聽聽聽聽聽聽聽聽c = DriverManager.getConnection( "jdbc:odbc:Book1", "", "" );
聽聽聽聽聽聽聽聽聽聽聽聽stmnt = c.createStatement();
聽聽聽聽聽聽聽聽聽聽聽聽String query = "SELECT test1 FROM [Sheet1$] WHERE test1='嫻嬭瘯'";
聽聽聽聽聽聽聽聽聽聽聽聽ResultSet rs = stmnt.executeQuery( query );
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println( "鏌ュ緱鍖歸厤'嫻嬭瘯'鐨則est1鐨勮褰曚負:" );
聽聽聽聽聽聽聽聽聽聽聽聽while( rs.next() ) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println( rs.getString( "test1" ) );
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽catch( Exception e ) {
聽聽聽聽聽聽聽聽聽聽聽聽System.err.println( e );
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽finally {
聽聽聽聽聽聽聽聽聽聽聽聽try {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽stmnt.close();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽c.close();
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽catch( Exception e ) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.err.println( e );
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}
聽聽聽聽}
}
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.DriverManager;
public class ExcelReader {
聽聽聽聽public static void main(String錛伙冀 args){
聽聽聽聽聽聽聽聽Connection connection = null;
聽聽聽聽聽聽聽聽try{
聽聽聽聽聽聽聽聽聽聽聽聽Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
聽聽聽聽聽聽聽聽聽聽聽聽Connection con = DriverManager.getConnection( "jdbc:odbc:Book1","","" );
聽聽聽聽聽聽聽聽聽聽聽聽Statement st = con.createStatement();
聽聽聽聽聽聽聽聽聽聽聽聽ResultSet rs = st.executeQuery( "SELECT * FROM [Sheet1$]" );
聽聽聽聽聽聽聽聽聽聽聽聽ResultSetMetaData rsmd = rs.getMetaData();
聽聽聽聽聽聽聽聽聽聽聽聽int numberOfColumns = rsmd.getColumnCount();
聽聽聽聽聽聽聽聽聽聽聽聽while (rs.next()) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽for (int i = 1; i <= numberOfColumns; i++) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if(i>1)聽聽//鐢ㄩ楀彿鍒嗛殧鍚勫垪
聽聽聽聽聽聽System.out.print(", ");
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽String columnValue = rs.getString(i);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.print(columnValue);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println("");
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽st.close();
聽聽聽聽聽聽聽聽聽聽聽聽con.close();
聽聽聽聽聽聽聽聽} catch(Exception ex) {
聽聽聽聽聽聽聽聽聽聽聽聽System.err.print("Exception: ");
聽聽聽聽聽聽聽聽聽聽聽聽System.err.println(ex.getMessage());
聽聽聽聽聽聽聽聽}
聽聽聽聽}
}