📄 0127.htm
字号:
<html>
<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1 {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center"><big><strong>applet/servlet搭配实质以及jdbc/mysql/servlet编程实例</strong></big></p>
<div align="right">---摘自互联网</div>
<br>1、实质:applet和服务器80端口创建连接,并通过http协议将串传给servlet,servlet执行完后可以向applet发回串,applet进行解析并向客户显示. <br>
<br>
错误:在于tomcat没有玩好,请看看他的使用说明,一般的conf/server.xml可以修改.class的存放目录,当然,你可以创建一个class目录(在tomcat目录下),将你的servletchat放在class目录下。 <br>
<br>
2、servlet-jdbc-mysql参考例程 <br>
<br>
送交者: hdp 于 June 10, 19100 19:37:45: <br>
<br>
主文件(servlet):<br>
/**<br>
* Example servlet call native libray,Get info form mysql<br>
*<br>
* @author Mark<br>
*/ <br>
<br>
import java.io.*;<br>
import java.text.*;<br>
import java.util.*;<br>
import javax.servlet.*;<br>
import javax.servlet.http.*; <br>
<br>
<br>
public class Getinfo extends HttpServlet { <br>
<br>
<br>
public void doGet(HttpServletRequest request,<br>
HttpServletResponse response)<br>
throws IOException, ServletException<br>
{ <br>
<br>
<br>
response.setContentType("text/html;charset=gb2312"); <br>
<br>
PrintWriter out = response.getWriter(); <br>
<br>
out.println("");<br>
out.println("");<br>
out.println(""); <br>
<br>
String title = "帐户查询系统演示";<br>
out.println("" + title + "");<br>
out.println("");<br>
out.println(""); <br>
<br>
<br>
String account = request.getParameter("account");<br>
out.println("");<br>
out.println("帐户查询系统演示" + "");<br>
out.println("");<br>
out.println("account: "+account+"");<br>
if (account != null )<br>
{<br>
String rs="";<br>
try {<br>
web1 wb = new web1();<br>
rs = wb.queryaccount(account);<br>
} catch(Exception e){<br>
out.println(e);<br>
} <br>
<br>
out.println("帐号");<br>
out.println(" = " + account+"的查询结果");<br>
out.println(rs+"");<br>
account=null; <br>
<br>
} else {<br>
out.println("请输入账号查询");<br>
}<br>
out.println("");<br>
out.print("");<br>
out.println("账号");<br>
out.println("");<br>
out.println("");<br>
out.println("");<br>
out.println(""); <br>
<br>
out.println("");<br>
out.println("");<br>
out.println("返回功能选择" + "");<br>
out.println(""); <br>
<br>
out.println("");<br>
out.println("");<br>
} <br>
<br>
public void doPost(HttpServletRequest request,<br>
HttpServletResponse response)<br>
throws IOException, ServletException<br>
{<br>
doGet(request, response);<br>
} <br>
<br>
/*<br>
Function: 下传信息给Web Browser<br>
Author: Shinging_Sky_Hero,XXX<br>
Date: 2000-4-12<br>
Attention: buffer为空时,将产生不可预料的错误<br>
*/<br>
/*<br>
public void sendData(String[] buffer,PrintWriter sender){<br>
int i;<br>
int times=buffer.length;<br>
for(i=0;i/* {<br>
buffer=toGB2312(buffer[i]);<br>
sender.println(buffer[i]);<br>
}<br>
return;<br>
} <br>
<br>
*/<br>
<br>
<br>
/*其中,toGB2312实现如下:<br>
Function:将UNICODE编码转化为GB编码。<br>
Author: Shinging_Sky_Hero,XXX<br>
Date: 2000-4-12<br>
Attention:如果S为空或null,将发生不可预料的错误<br>
*/<br>
/*<br>
public static String toGB2312(String s){<br>
try{<br>
CharToByteConverter toByte=CharToByteConverter.getConverter("GB2312");<br>
byte[] orig=toByte.convertAll(s.toCharArray());<br>
char[] dest=new char[orig.length];<br>
for(int i=0;i; dest[i]=(char)(orig[i] & 0xFF);<br>
return new String(dest);<br>
}catch(Exception e){<br>
System.out.print(e);<br>
return s;<br>
}<br>
}*/ <br>
<br>
} <br>
<br>
连接库类与函数包装:<br>
import java.sql.*; <br>
<br>
public class ConnectDb<br>
{<br>
final static int POOLSIZE = 10;<br>
static boolean hasInit = false;<br>
static boolean isFull = false;<br>
// DatabaseConnection<br>
final String jdbcName = "org.gjt.mm.mysql.Driver";<br>
final String dbUrl = "jdbc:mysql://10.80.1.77:3306/mysql?user=root";<br>
static Connection con[] = new Connection[POOLSIZE];<br>
static Statement stmt[] = new Statement[POOLSIZE];<br>
// mark[i]=0 --- unuseble; mark[i]=1 --- useble; mark[i]=2 --- using<br>
static int mark[] = new int[POOLSIZE]; <br>
<br>
synchronized public String getRs(String sql)<br>
{<br>
String account[]={" account = "," name = "," pass = "," num = "}; <br>
<br>
String s = "";<br>
if(isFull) return null; // 无可用连接<br>
if( !hasInit ) init();<br>
for(int i=0;i if( mark[i]==1 ) { // find first useble connection<br>
mark[i] = 2;<br>
try {<br>
debug(sql);<br>
ResultSet rs = stmt[i].executeQuery(sql);<br>
mark[i] = 1;<br>
while( rs.next() ) {<br>
for(int j=1;j<5;j++) {<br>
s = s + account[j-1] ;<br>
s = s + rs.getString(j) +", ";<br>
}<br>
s += ";";<br>
}<br>
rs.close();<br>
return s;<br>
} catch(Exception e) {<br>
debug("getRs():"+e);<br>
mark[i] = 1;<br>
return null;<br>
}<br>
}<br>
isFull = false;<br>
}<br>
isFull = true;<br>
return null;<br>
} <br>
<br>
private void init()<br>
{<br>
for(int i=0;i for(int i=0;i if( doConnection(i) ) mark[i] = 1; // if connect ok,<br>
}<br>
debug("init() ok");<br>
} <br>
<br>
private boolean doConnection(int i)<br>
{<br>
try {<br>
Class.forName(jdbcName).newInstance();<br>
con[i] = DriverManager.getConnection(dbUrl);<br>
stmt[i] = con[i].createStatement();<br>
} catch(Exception e){<br>
debug("doConnection():"+e);<br>
return false;<br>
}<br>
return true;<br>
} <br>
<br>
private void debug(String s)<br>
{<br>
System.err.println(s);<br>
System.err.flush();<br>
} <br>
<br>
private void debug(Exception e)<br>
{<br>
System.err.println(e);<br>
System.err.flush();<br>
} <br>
<br>
} <br>
<br>
<br>
//servicename:addaccount,delaccount,queryaccount,modifyaccount<br>
//statement :sql<br>
class web1{ <br>
<br>
/********************************************************<br>
**method name :addaccount()<br>
**fuction :add a account to the table<br>
**return :0 ok 1 already have the account or other error<br>
********************************************************/<br>
static ConnectDb con = new ConnectDb();<br>
public String addaccount(String account,String name,String pass,String num)<br>
{<br>
String sql="insert into test.list1 values('"+account+"','"+name+"','"+pass+"',"+num+")";<br>
String rs=con.getRs(sql);<br>
rs=con.getRs("select * from test.list1");<br>
return rs; <br>
<br>
} <br>
<br>
/********************************************************<br>
**method name :delaccount()<br>
**fuction :delete a record from table<br>
**return :0 ok<br>
**delete from list1 where account="account"<br>
********************************************************/ <br>
<br>
public String delaccount(String account)<br>
{<br>
String sql="delete from test.list1 where account='"+account+"'";<br>
String rs=con.getRs(sql);<br>
rs=con.getRs("select * from test.list1");<br>
return rs; <br>
<br>
} <br>
<br>
/********************************************************<br>
**method name :queryaccount()<br>
**fuction :query a account context by account<br>
**return :0 ok<br>
**select * from list1 where account="account"<br>
********************************************************/<br>
public String queryaccount(String account)<br>
{<br>
if(account == null)<br>
String sql="select * from test.list1";<br>
else<br>
String sql="select * from test.list1 where account='"+account+"'";<br>
String rs=con.getRs(sql);<br>
return rs; <br>
<br>
} <br>
<br>
/********************************************************<br>
**method name :modifyaccount()<br>
**fuction :change a account context by account<br>
**return :0 ok<br>
**update list1 set name="name", pass="pass",<br>
**num=num where account=account;<br>
********************************************************/<br>
public String modifyaccount(String account,String name,String pass,String num)<br>
{<br>
String sql="update test.list1 set name='"+name+"',pass='"+pass+"',account='"+account+"',num="+num+" where account='"+account+"'";<br>
String rs=con.getRs(sql);<br>
rs=con.getRs("select * from test.list1 where account='"+account);<br>
return rs; <br>
<br>
} <br>
<br>
}
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -