日文域名都有?!
String[] name = req.getParameterValues("name");
String[] pwd = req.getParameterValues("pwd");
-->
String[] name = req.getParameter("name");
String[] pwd = req.getParameter("pwd");
单个取值,如果只是传递一个参数,当然无论是单个还是集合都只是一个元素,所以两种方法都应该能取到value
String[] name = req.getParameterValues("name");
String[] pwd = req.getParameterValues("pwd");
-->
String[] name = req.getParameter("name");
String[] pwd = req.getParameter("pwd");
单个取值,如果只是传递一个参数,当然无论是单个还是集合都只是一个元素,所以两种方法都应该能取到value
java.io.DataOutputStream dos1 = new java.io.DataOutputStream(ucon.getOutputStream());
dos1.writeBytes(req);
dos1.close();
a、前面已经有了一个输出流,而servlet接收第一一个输入流,servlet没有处理第二个输出流。
b、另外,语句dos1.writeBytes(req);最大可能是dos1.writeBytes(req1);2、测试过的源代码-Applet:
//:A2SApplet.java
//**** Applet ***************************************
package test.a2s;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;public class A2SApplet extends Applet {
JButton
b1 = new JButton("JButton 1"),
b2 = new JButton("JButton 2");
JTextArea t = new JTextArea(20,20);
public void init() {
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent e){
String name = ((JButton)e.getSource()).getText();
t.setText(doit());
}
};
b1.addActionListener(al);
add(b1);
b2.addActionListener(al);
add(b2);
add(t);
}
private String doit(){
try{
System.out.println("**** START ****");
java.net.URL url = new java.net.URL("http://localhost:8080/tsc/A2SServlet");
System.out.println(url.toString());
String name="tsc";
String pwd="dirzly118";
String req = "name=" + java.net.URLEncoder.encode(name);
String req1 = "&password=" + java.net.URLEncoder.encode(pwd);
java.net.URLConnection ucon = url.openConnection();
ucon.setDoOutput(true);
ucon.setDoInput(true); java.io.DataOutputStream dos = new java.io.DataOutputStream(ucon.getOutputStream());
dos.writeBytes(req+req1);
dos.close();
java.io.DataInputStream dis = new java.io.DataInputStream(ucon.getInputStream());
String temp = dis.readUTF();
System.out.println("dis.readUTF");
System.out.println("ReadUTF : " + temp);
dis.close();
return temp;
} catch (Exception e){e.printStackTrace();return new String();}
}
public static void main(String args[]) {
A2SApplet applet = new A2SApplet();
JFrame frame = new JFrame("TextAreaNew");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
frame.getContentPane().add(
applet, BorderLayout.CENTER);
frame.setSize(300,100);
applet.init();
applet.start();
frame.setVisible(true);
}
} ///:~
3、源代码-servlet:
//:A2SServlet.java
//**** Servlet ***************************************
package test.a2s;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public final class A2SServlet extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException, ServletException {
try{
String name = req.getParameter("name");
String pwd = req.getParameter("password"); System.out.println("name:"+name);
System.out.println("pwd:"+pwd);
res.setContentType("text/plain");
res.setHeader("Pragma", "no-cache");
java.io.DataOutputStream dos = new java.io.DataOutputStream(res.getOutputStream());
dos.writeUTF("ok"+name+pwd);
dos.flush();
dos.close();
}catch(Exception e){e.printStackTrace();}
}
public void doPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws javax.servlet.ServletException, java.io.IOException {
doGet(req,res);
}
}4、编译之,retry