private void postData(String url, String data) throws Exception {
成都创新互联公司专注于洛川企业网站建设,响应式网站建设,商城网站建设。洛川网站建设公司,为洛川等地区提供建站服务。全流程按需定制网站,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务
URL url = new URL(url);
URLConnection urlConnection = url.openConnection();
urlConnection.setDoOutput(true);
// 提交数据
try (PrintWriter pw = new PrintWriter(urlConnection.getOutputStream(), true)) {
pw.write(data);
}
// 获得返回结果
try (BufferedReader br = new BufferedReader(
new InputStreamReader(urlConnection.getInputStream(), "UTF-8"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
}
}
这是当初我登录我们学校校园网的代码(基于 JDK7),参数 url 是你登录的起始网址(就是让你输入用户名和密码的那个,参数 data 是要提交的数据,就是形如 username=xxxpassword=yyyaction=login... 这样的格式。
你可以自己先使用浏览器通过“审查元素”,然后再控制台看一下登录的时候到底需要提交哪些字段。
1、web.xml文件中增加
mime-mapping
extensiondoc/extension
mime-typeapplication/vnd.ms-word/mime-type
/mime-mapping
2、程序如下:
%@page language="java" contentType="application/x-msdownload" import="java.io.*,java.net.*" pageEncoding="gb2312"%
%
//关于文件下载时采用文件流输出的方式处理:
//加上response.reset(),并且所有的%后面不要换行,包括最后一个;
//因为Application Server在处理编译jsp时对于%和%之间的内容一般是原样输出,而且默认是PrintWriter,
//而你却要进行流输出:ServletOutputStream,这样做相当于试图在Servlet中使用两种输出机制,
//就会发生:getOutputStream() has already been called for this response的错误
//详细请见《More Java Pitfill》一书的第二部分 Web层Item 33:试图在Servlet中使用两种输出机制 270
//而且如果有换行,对于文本文件没有什么问题,但是对于其它格式,比如AutoCAD、Word、Excel等文件
//下载下来的文件中就会多出一些换行符0x0d和0x0a,这样可能导致某些格式的文件无法打开,有些也可以正常打开。
response.reset();//可以加也可以不加
response.setContentType("application/x-download");//设置为下载application/x-download
// /../../退WEB-INF/classes两级到应用的根目录下去,注意Tomcat与WebLogic下面这一句得到的路径不同,WebLogic中路径最后没有/
System.out.println(this.getClass().getClassLoader().getResource("/").getPath());
String filenamedownload = this.getClass().getClassLoader().getResource("/").getPath() + "/../../系统解决方案.doc";
String filenamedisplay = "系统解决方案.doc";//系统解决方案.txt
filenamedisplay = URLEncoder.encode(filenamedisplay,"UTF-8");
response.addHeader("Content-Disposition","attachment;filename=" + filenamedisplay);
OutputStream output = null;
FileInputStream fis = null;
try
{
output = response.getOutputStream();
fis = new FileInputStream(filenamedownload);
byte[] b = new byte[1024];
int i = 0;
while((i = fis.read(b)) 0)
{
output.write(b, 0, i);
}
output.flush();
}
catch(Exception e)
{
System.out.println("Error!");
e.printStackTrace();
}
finally
{
if(fis != null)
{
fis.close();
}
java中联网的手段有很多中,比如scoket通讯有socket类库,http通讯可以用httpclient,邮件协议可以用javamail,其他的等等都可以在网上找到对应的第三方类库。千锋教育现拥有百人教研团队,300人教学团队,讲师均来自一线大厂兼具项目实战与教学经验,全程面授教学。
java有非常广泛的应用市场,它的生态系统几乎涵盖了目前市面上所有的软硬件,java几乎是万能的,你能想到的,java基本都能实现(虽然吹的有点大,但不可否认)。java是有一个庞大的生态系统,它的覆盖范围非常广,而且已经连续十几年位居开发语言的榜首,所以java是相对于其他语言来说,非常稳定的。从当前招聘网站来看java的需求量是非常大的,但是这个需求是有前提条件的,那么必须是开发3年以上的开发工程师。
想要了解更多关于java开发的相关信息,推荐咨询千锋教育。千锋企业合作部于2013年成立,主要针对企业用人需求和学员职业规划进行服务。经过8年发展,企业合作部已经成为千锋连接企业和学员的重要纽带。服务面对企业建立全方位、立体化、遍布全国的企业合作网络,覆盖全国一线二线城市大中小型公司,成功帮助20000余名人才实现就业,合作企业达20000余家,每年签订1000余份人才培养订单,让广大学员没有后顾之忧。