I run into some problems with submitting parameters to a servlet. The parameters can be seen just before it performs the native call but then never reach the server.
[u]Here is my test case.[/u]
I create a basic servlet :
/* Servlet implementation class GreetingServlet /
public class GreetingServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public GreetingServlet() {
super();
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doGetOrPost(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doGetOrPost(request, response);
}
protected void doGetOrPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
response.setContentType("text/plain");
String name = "";
String value = "";
Enumeration enumeration = request.getParameterNames();
for (; enumeration.hasMoreElements();) {
name = (String) enumeration.nextElement();
out.println(name);
value = request.getParameter(name);
String[] values = request.getParameterValues(name);
for (int i = 0; i < values.length; i++) {
out.println(" " + values[i]);
}
}
out.close();
}
}
[u]Here is my launcher[/u]
public class NakedImpl extends JFrame {
private JWebBrowser webBrowser;
JMenuBar mnuBar;
public NakedImpl() {
webBrowser = new JWebBrowser();
setTitle("Naked Implentation-Launching JWebBrowser");
setLayout(new BorderLayout());
setJMenuBar(getTheMenuBar());
add(webBrowser, BorderLayout.CENTER);
}
private JMenuBar getTheMenuBar() {
if (mnuBar == null) {
mnuBar = new JMenuBar();
JMenu mnu = new JMenu("File");
JMenuItem exit = new JMenuItem("Exit");
exit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(1);
}
});
JMenuItem navigateToMyFirstServlet = new JMenuItem("navigateToMyFirstServlet");
navigateToMyFirstServlet.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
navigateToMyFirstServlet();
} catch (MalformedURLException e1) {
e1.printStackTrace();
}
}
});
mnu.add(exit);
mnu.add(navigateToMyFirstServlet);
mnuBar.add(mnu);
}
return mnuBar;
}
public void navigateToMyFirstServlet() throws MalformedURLException {
WebBrowserNavigationParameters wparm = new WebBrowserNavigationParameters();
Map<String, String> postDataMap = new HashMap<String, String>();
postDataMap.put("username", "marius");
postDataMap.put("password", "password");
wparm.setPostData(postDataMap);
Map<String, String> headersMap = new HashMap<String, String>();
headersMap.put("User-agent", "Native Swing Browser");
headersMap.put("method", "post");
wparm.setHeaders(headersMap);
webBrowser.navigate(
"http://localhost:8080/MyFirstServlet/GreetingServlet", wparm);
}
public static void main(String[] args) throws MalformedURLException {
NativeInterface.open();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new NakedImpl();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
});
NativeInterface.runEventPump();
}
I attach the sources for both the test app and the test servlet for your perusal.
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
I attach the sources for both the test app and the test servlet for your perusal