社区
Web 开发
帖子详情
超级简单的问题:如何在程序中提交表单??
abcdhy
2004-04-12 10:44:58
我想在自己的 Java 应用程序中,调用一个网页的内容!!
比如我要用 Java 来做一个简单的手机短消息发送器.
我就需要在程序里 提交一个表单 ,然后把提交表单数据后的回复 网页 给取下来.我要怎么才能实现这样的功能呢??
今天看到一个网友写的Java版 CSDNer 的部分代码?
他是使用的一个类来完成的,但我没有这个类的代码,也不知道其中的实现原理!
请各位大侠指点一下 谢谢!!!
...全文
62
24
打赏
收藏
超级简单的问题:如何在程序中提交表单??
我想在自己的 Java 应用程序中,调用一个网页的内容!! 比如我要用 Java 来做一个简单的手机短消息发送器. 我就需要在程序里 提交一个表单 ,然后把提交表单数据后的回复 网页 给取下来.我要怎么才能实现这样的功能呢?? 今天看到一个网友写的Java版 CSDNer 的部分代码? 他是使用的一个类来完成的,但我没有这个类的代码,也不知道其中的实现原理! 请各位大侠指点一下 谢谢!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flyforlove
2004-04-15
打赏
举报
回复
http://www.innovation.ch/java/HTTPClient/
abcdhy
2004-04-15
打赏
举报
回复
up
abcdhy
2004-04-15
打赏
举报
回复
呵呵,谢谢了!!
正在学习中!!
fxywkj
2004-04-14
打赏
举报
回复
学习新知识!
dszch
2004-04-14
打赏
举报
回复
上面网友说的办法可以呀!虽说是JSP,但是JSP在调用时也是被引擎转换成servlet.
而servlet不就是JAVA代码吗?
看看下面这段代码,就是一个JSP转换过来的SERVLET
package org.apache.jsp;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import org.apache.jasper.runtime.*;
public class formjsp_jsp extends HttpJspBase {
private static java.util.Vector _jspx_includes;
public java.util.List getIncludes() {
return _jspx_includes;
}
public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {
JspFactory _jspxFactory = null;
javax.servlet.jsp.PageContext pageContext = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
JspWriter _jspx_out = null;
try {
_jspxFactory = JspFactory.getDefaultFactory();
response.setContentType("text/html; charset=gb2312");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, true, 8192, true);
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;
out.write("\r\n");
out.write("<html>\r\n ");
out.write("<head>\r\n ");
out.write("<title>一个简单的表单JSP程序--点击确认后触发的JSP页面");
out.write("</title>\r\n ");
out.write("</head>\r\n \r\n ");
out.write("<body>\r\n 你的姓名是:\r\n ");
String nameStr=request.getParameter("name");
byte b[]=nameStr.getBytes("ISO-8859-1");
String name=new String(b);
out.print(name);
out.write("\r\n ");
out.write("<p>");
out.write("</p>\r\n \r\n ");
out.write("<font size=7 color=red>\r\n ");
out.write("<p>");
out.write("</p>\r\n 你的邮箱是:\r\n ");
out.print(request.getParameter("email"));
out.write("\r\n ");
out.write("</body>\r\n");
out.write("</html>");
} catch (Throwable t) {
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
out.clearBuffer();
if (pageContext != null) pageContext.handlePageException(t);
} finally {
if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
}
}
}
yunuo2010000
2004-04-14
打赏
举报
回复
学习
turbochen
2004-04-13
打赏
举报
回复
用法:
QueryString qs = new QueryString();
qs.add("username",myname);
qs.add("password",mypass);
PostHttp post = new PostHttp("http://www.csdn.net/member/logon.asp");
InputStream input = post.post(qs);
int read;
while((read=input.read())!=-1)
{
sysout.println((char)read);
}
turbochen
2004-04-13
打赏
举报
回复
/**
* 将查询字串用"POST"方式提交到服务器并返回值.
*
*
* @author Turbo Chen
*/
public class PostHttp
{
private URL url;
public PostHttp(URL url)
{
this.url = url;
}
/**
* 将查询字串提交(POST)到服务器.
* @param qs
* @return
* @throws IOException
*/
public InputStream post(QueryString qs) throws IOException
{
URLConnection conn = url.openConnection();
conn.setUseCaches(false);
((HttpURLConnection)conn).setRequestMethod("POST");
conn.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());
//qs.add("sessionid",Session.instance().getSessionID());
out.write(qs.toString());
out.flush();
out.close();
return conn.getInputStream();
}
/**
* 将查询字串提交(POST)到服务器.
* @param qs
* @return
* @throws IOException
*/
public InputStream post(NameValueList qs) throws IOException
{
QueryString vqs = new QueryString();
for ( int i=0;i<qs.size();i++ )
{
vqs.add(qs.getName(i),qs.getValue(i));
}
URLConnection conn = url.openConnection();
conn.setUseCaches(false);
((HttpURLConnection)conn).setRequestMethod("POST");
conn.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());
//qs.add("sessionid",Session.instance().getSessionID());
out.write(vqs.toString());
out.flush();
out.close();
return conn.getInputStream();
}
}
/**
* 生成URL查询字串.
*
*
* @author Turbo Chen
*/
public class QueryString
{
private String query;
private String charset ;
public QueryString(Object name, Object value, String encoding)
{
if( Charset.isSupported( encoding ) )
{
charset = encoding ;
}
else
{
charset = "UTF-8" ;
}
try
{
query = URLEncoder.encode( name.toString(),encoding ) + "=" +
URLEncoder.encode(value.toString(),charset) ;
}
catch (UnsupportedEncodingException e)
{
System.err.println(e);
}
}
public QueryString(Object name, Object value)
{
this( name , value, "UTF-8" );
}
public QueryString()
{
query = "";
charset="UTF-8";
}
public synchronized void add(Object name, Object value,String encoding)
{
try {
if(! query.trim().equals("")) query += "&" ;
query += URLEncoder.encode(name.toString(),encoding) + "=" +
URLEncoder.encode(value.toString(),encoding);
} catch ( UnsupportedEncodingException e ) {
this.add( name, value );
}
}
public synchronized void addAll(QueryString qs)
{
if ( ! query.trim().equals("") ) query +="&";
query += qs.toString();
}
public synchronized void add(Object name, Object value)
{
this.add(name,value,"UTF-8");
}
public String toString()
{
return query;
}
}
abcdhy
2004-04-13
打赏
举报
回复
谢谢大家!!
我说的是在 Java 应用程序中,也就是用 纯Java 的代码来实现 表单的提交和接收回复.
即不使用 html ,也不使用 JSP ,只使用 J2SE 来实现!!
这需要掌握 html 协议,使用 socket 来实现!!
这个实现在 tomcat 的 sevlet 包中有实现!!但它引入的东西太多.不能用在一般的应用程序中.
我看网上的一些程序,应该有使用在Java应用程序中的 Java 库存在,但我在网上一直都没有找到,谁能给我提供一份,谢谢了!!
yingmao2001
2004-04-13
打赏
举报
回复
<form action="*.jsp">
<input type=text name=text1>
<input type=submit name=submit1>
</form>
将输入框里的东西 提交给*.jsp
hairchu1
2004-04-13
打赏
举报
回复
他们说得很对
hojay2001
2004-04-13
打赏
举报
回复
<form action="1.jsp">
...
<input type=submit value="sub">
</form>
提交表单由1.jsp处理。
cenphoenix
2004-04-13
打赏
举报
回复
mark
jinsfree
2004-04-13
打赏
举报
回复
如他们所说
bs221cn
2004-04-13
打赏
举报
回复
<from action="jsp2.jsp">
<input type="text" name="text1">
<input type="submit" name="submit" value="Submit">
</from>
点Submit时会把text1所写内容传给jsp2.jsp;
jsp2.jsp内:
request.getParameter("text1").toString();
会得到这个值
softtao
2004-04-13
打赏
举报
回复
// 表单
<form name = "form1" method = "post">
<input type = "text" name = "text1" value = "">
......
</form>
// java程序中得到表单中输入值
String strText1 = "";
strText1 = (String)request.getParameter("text1");
Explorer22
2004-04-13
打赏
举报
回复
你说的是在java中,不是在 jsp中吧??
wandou999
2004-04-13
打赏
举报
回复
<form action="xx.jsp">
...
<input type=submit value="sub">
</form>
abcdhy
2004-04-13
打赏
举报
回复
httpclient 的源代码
在哪里有啊?
谢谢!!!
binny
2004-04-13
打赏
举报
回复
搭个便车:
如果需要通过代理上网,
应该在程序里怎么设置代理服务器呢。
我看了httpclient得sample可是没看明白,
哪位高人知道
另外
TO楼主:
简单的操作可以向上面一样用socket
复杂的可以看一看httpclient
加载更多回复(4)
入门学习Linux常用必会60个命令实例详解doc/txt
-n:一般而言,mount挂上后会在/etc/mtab
中
写入一笔资料,在系统
中
没有可写入文件系统的情况下,可以用这个选项取消这个动作。 4.应用技巧 在Linux 和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分...
telegram 常见
问题
一般的
问题
问:什么是电报?我在这里做什么 问:谁是电报? 问:电报与WhatsApp不同? 问:电报多大? 问:我可以使用哪些设备? 问:电报背后的人是谁? 问:你有广告吗?还是出售我的数据?还是偷我的爱人...
segment:?co?_如何跟踪用户动作并了解它们:Segment + MixPanel
segment:?co?Here at Tryolabs we’re used to work in different kinds of projects, generally involving Python backends, and Javascript frontends. 在Tryolabs,我们习惯于从事不同类型的项目,通常涉及...
Java面试宝典(
超级
详细)
简单
来说:如果你需要运行 java
程序
,只需安装 JRE 就可以了,如果你需要编写 java
程序
,需要安装 JDK。== 解读对于基本类型和引用类型 == 的作用效果是不同的,如下所示:代码示例:[](javascript:void(0)?? []...
Web开发牛人访谈:你们都在用什么?
在Web开发领域,我们通常会花一些时间关注行业大牛的动态,比如他们开发所用的一些工具或者类库,看他们写的技术文章,学习他们学过的一些酷霸狂旋拽的技术,甚至参加一些新语言的发布会。如果能够知道这些大牛正在...
Web 开发
81,091
社区成员
341,719
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章