📄 0131.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>Servle和applet通信的例子</strong></big></p>
<div align="right">---摘自互联网</div>
<br>sendApplet.java<br>
<br>
import java.applet.Applet;<br>
import java.awt;<br>
import java.net.*;<br>
import java.io.*;<br>
<br>
public class sendApplet extends Applet<br>
{<br>
Lable sendlable;<br>
Lable messageinfor;<br>
Button sendButton;<br>
TextField messageText;<br>
TextField sendText;<br>
URLConnection connect;<br>
String message;<br>
<br>
public String getAppletInfo()<br>
{<br>
return "sendApplet - Applet to communicate with receiveServlet , Written by ding;";<br>
}<br>
<br>
public synchronized void init()<br>
{<br>
super.init();<br>
resize(500,300);<br>
sendlable = new Lable("Please Enter Massage");<br>
messageInfor = new Lable("What you have send:");<br>
sendButton = new Button("Send");<br>
sendText = new TextField(40);<br>
messageText = new TextField(40);<br>
messageText.setEditable(false);<br>
<br>
<br>
//下面实现一个Panel<br>
Panel mainp = new Panel();<br>
GridBagLayout gbl = new GridBaglayout();<br>
GridBagConstraints gbc = new GridBagConstraints();<br>
gbc.weightx = 0;<br>
gbc.weighty = 0;<br>
gbc.gridx = 0;<br>
gbc.gridy = 0;<br>
gbc.gridwidth = 10;<br>
gbc.gridheight= 1;<br>
gbc.anchor = GridBagConstraints.CENTER;<br>
gbc.fill = GridBagConstraints.NONE;<br>
mainp.setLayout(gbl);<br>
gbl.setConstrains(sendable,gbc);<br>
mainp.add(sendlable);<br>
gbc.gridy = 1;<br>
gbc.gridwidth = 9;<br>
gbc.fill = GridBagConstraints.HORIZONTAL;<br>
gbl.setConstraints(sendText,gbc);<br>
mainp.add(sendText);<br>
gbc.gridx = 9;<br>
gbc.gridwidth = 1;<br>
gbc.fill = GridBagConstraints.NONE;<br>
gbl.setConstraints(sendButton,gbc);<br>
mainp.add(sendButton);<br>
gbc.gridx = 0;<br>
gbc.gridy = 2;<br>
gbc.gridwidth = 10;<br>
gbl.setConstraints(messageinfo,gbc);<br>
mainp.add(messageInfo);<br>
gbc.gridy = 3;<br>
gbc.weighty = 100;<br>
gbc.gridheight = 10;<br>
gbc.fill = GridBagConstraints.BOTH;<br>
gbl.setConstraints(messageText,gbc);<br>
mainp.add(messageText);<br>
<br>
//把实现的Panel加入Applet<br>
setLayout(new BorderLayout());<br>
Add("Center",mainp);<br>
<br>
chatURL = getCodeBase();<br>
}<br>
<br>
public synchronized void start()<br>
{<br>
}<br>
<br>
public synchronized void stop()<br>
{<br>
}<br>
<br>
public synchronized void destroy()<br>
{<br>
}<br>
<br>
//方法SEND 把用户在applet 中输入的字符串送给Servlet<br>
//然后把Servlet 的处理结果显示出来<br>
<br>
Private void Send()<br>
{<br>
message = sendText.getText();<br>
//清除用户的输入信息<br>
sendText.setText("");<br>
showStatus("Message send!");<br>
//把输入的字符串转化为 x-www-form-urlencoded 格式<br>
String queryString = "/servlet/ReceiveServlet?message="+URLEncoder.encode(message);<br>
p("Attempting to send:"+message);<br>
<br>
//建立与Servlet的联接,并取得Servelt的输出信息<br>
try <br>
{<br>
connect = (new URL(chatURL,queryString)).openConnection();<br>
showStatus("open connection!");<br>
//下次连接不用Cache<br>
connect.setDefaultUseCaches(false);<br>
//这次连接也不用Cache<br>
connect.setUseCaches(false);<br>
//打开淂流用于读数据<br>
connect.setDoInput(true);<br>
//不能用于写数据<br>
connect.setDoOutput(false);<br>
//服务器与客户的真正连接<br>
connect.connect();<br>
p("Made connection to "+connect);<br>
showStatus("Open Stream!");<br>
DataInputStream in = new DataInputStream(connect.getInputStream());<br>
showStatus("reading!");<br>
message = in.readLine();<br>
<br>
while (message! = null)<br>
{<br>
messageText.setText(message);<br>
message = in.readLine();<br>
}<br>
<br>
}<br>
catch(MalformedURLException e2)<br>
{<br>
System.err.println("MalformedURLException!");<br>
e2.printStackTrace(System.err);<br>
showStatus("MalformedURLException!");<br>
}<br>
catch(IOException e1)<br>
{<br>
System.err.println("IOException!");<br>
e2.printStackTrace(System.err);<br>
showStatus("IOException");<br>
}<br>
}<br>
}<br>
<br>
//applet 对用户的动作作处理。<br>
public boolean action(Event evt,Object arg)<br>
{<br>
if (evt.target == sendButton)<br>
{<br>
Send();<br>
return true;<br>
}<br>
return super.action(evt,arg);<br>
}<br>
<br>
private void p(String debug)<br>
{<br>
System.err.println("app-serv-let:"+debug);<br>
}<br>
}<br>
<br>
<br>
receiveservlet.java<br>
<br>
import java.io.*;<br>
import java.util.Date;<br>
<br>
import javax.servlet.*;<br>
import javax.servlet.http.*;<br>
<br>
public class receiveservlet extends HttpServlet<br>
{<br>
public void service (HttpServletRequest req,HttpServletResponse res)<br>
throws ServletException,IOException<br>
{<br>
res.setContentType("text/plain");<br>
ServletOutputStream out = res.getOutputStream();<br>
out.print("receive user message:");<br>
out.print("req.getParameter("message"));<br>
}<br>
<br>
public String getServletInfo()<br>
{<br>
return "return a String representation of the current time";<br>
}<br>
}<br>
<br>
<br>
add-serv-let.html<br>
<br>
<html><br>
<head><br>
<title>sendApplet</title><br>
</head><br>
<body><br>
<hr><br>
<applet code=sendApplet width=400 height=300 ></applet><br>
<hr><br>
</body><br>
</html>
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -