
正文
java代码变成链接 java链接生成二维码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java代码怎么将"http://…"这样一个路径,写成类似超链接那样?
java超链接:
button.setLabel("htmla href=\"http:\\\angelsinklow"angelsinklow/a/html");
如果用start的话,这样写
Runtime.getRuntime().exec("cmd /c start ‘http:\\\angelsinklow");
Runtime.getRuntime().exec("iexplore ");
对于JEditorPane,JTextPane,JTextArea,JLabel可以使用
setText("htmlA href=''test/A/html")
对于JEditorPane使用
setEditorKitForContentType("text/html", new PatchedHTMLEditorKit());
addHyperlinkListener(HyperlinkListener ... );
需要引入java.net.url包。
try{getAppletContext().showDocument(new URL("http:\\\angelsinklow"),"打开位置");}
catch(Exception ex) {System.out.println("error"); }
就超链接了。
相关问答
Q1: java页面中如何把文本转换为链接
out.print(rs.getString("url") + "br");
变成:
out.print("a href='" + rs.getString("url") + "' "+rs.getString("url")+" br");
就可以了,试试看。
Q2: 如何生成短链接 java
因公司推广需要,需要一套短链接生成方案,正好前几天在MSDN看到有人发了一个.net版的短链接算法,我就把它转换成java版,拿出来共享一下
生成思路:
1.将"原始链接(长链接)+key(自定义字符串,防止算法泄漏)"MD5加密
2.把加密字符按照 8 位一组 16 进制与 0x3FFFFFFF 进行位与运算,把得到的值与 0x0000003D 进行位与运算,取得字符数组 chars 索引,把取得的字符相加,每次循环按位右移 5 位,把字符串存入对应索引的输出数组(4组6位字符串)
3.生成4以下的随机数,从输入数组中取出随机数对应位置的字符串,作为短链,存入数据库或者NoSql
解析方式
编写一个web处理程序,把从ur(如:中解析短链接,将解析到的短链接(zAnuAn)与数据库中存入的原始链接进行匹配,跳转到匹配到的原始链接
package com.bjdata.test;
import java.security.MessageDigest;
import java.util.Random;
public class ShortUrlTest {
public static void main(String[] args) {
String sLongUrl = "/bbs/_t_278433840/"; // 原始链接
System.out.println("长链接:"+sLongUrl);
String[] aResult = shortUrl(sLongUrl);//将产生4组6位字符串
// 打印出结果
for (int i = 0; i aResult.length; i++) {
System.out.println("[" + i + "]:" + aResult[i]);
}
Random random=new Random();
int j=random.nextInt(4);//产成4以内随机数
System.out.println("短链接:"+aResult[j]);//随机取一个作为短链
}
public static String[] shortUrl(String url) {
// 可以自定义生成 MD5 加密字符传前的混合 KEY
String key = "test";
// 要使用生成 URL 的字符
String[] chars = new String[] { "a", "b", "c", "d", "e", "f", "g", "h",
"i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H",
"I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z"
};
// 对传入网址进行 MD5 加密
String hex = md5ByHex(key + url);
String[] resUrl = new String[4];
for (int i = 0; i 4; i++) {
// 把加密字符按照 8 位一组 16 进制与 0x3FFFFFFF 进行位与运算
String sTempSubString = hex.substring(i * 8, i * 8 + 8);
// 这里需要使用 long 型来转换,因为 Inteper .parseInt() 只能处理 31 位 , 首位为符号位 , 如果不用long ,则会越界
long lHexLong = 0x3FFFFFFF Long.parseLong(sTempSubString, 16);
String outChars = "";
for (int j = 0; j 6; j++) {
// 把得到的值与 0x0000003D 进行位与运算,取得字符数组 chars 索引
long index = 0x0000003D lHexLong;
// 把取得的字符相加
outChars += chars[(int) index];
// 每次循环按位右移 5 位
lHexLong = lHexLong 5;
}
// 把字符串存入对应索引的输出数组
resUrl[i] = outChars;
}
return resUrl;
}
/**
* MD5加密(32位大写)
* @param src
* @return
*/
public static String md5ByHex(String src) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] b = src.getBytes();
md.reset();
md.update(b);
byte[] hash = md.digest();
String hs = "";
String stmp = "";
for (int i = 0; i hash.length; i++) {
stmp = Integer.toHexString(hash[i] 0xFF);
if (stmp.length() == 1)
hs = hs + "0" + stmp;
else {
hs = hs + stmp;
}
}
return hs.toUpperCase();
} catch (Exception e) {
return "";
}
}
}
运行结果
长链接:
[0]:fa6bUr
[1]:ryEfeq
[2]:zAnuAn
[3]:auIJne
短链接:zAnuAn
Q3: 在JSP里把java代码变成超链接
试试这个:
% out.println("td align=centera href=\"til.jsp\""+leaveBean.getContent()+"/a/td");%
或者
% out.println("td align=centera href='til.jsp'"+leaveBean.getContent()+"/a/td");%
可能是你的引号匹配的有问题
Q4: java调用百度api生成短链接,跪求java代码,不要复制网上的,要自己亲测实际能运行的!谢谢
package com.zhidao.www;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class TestShort {
public static void main(String[] args) {
// TODO Auto-generated method stub
String httpUrl = "";
String httpArg = "url_long=http%3A%2F%2Fapistore.baidu.com%2Fastore%2Fshopready%2F1973.html";
String jsonResult = request(httpUrl, httpArg);
System.out.println(jsonResult);
}
/**
* @param urlAll
* :请求接口
* @param httpArg
* :参数
* @return 返回结果
*/
public static String request(String httpUrl, String httpArg) {
BufferedReader reader = null;
String result = null;
StringBuffer sbf = new StringBuffer();
httpUrl = httpUrl + "?" + httpArg;
try {
URL url = new URL(httpUrl);
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setRequestMethod("GET");
// 填入apikey到HTTP header
connection.setRequestProperty("apikey", "自己的apikey");
connection.connect();
InputStream is = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String strRead = null;
while ((strRead = reader.readLine()) != null) {
sbf.append(strRead);
sbf.append("\r\n");
}
reader.close();
result = sbf.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
这个可以用 不过要自己申请下api key 得到的字符串也要自己解析
Q5: Java怎么把链接SQLserver的代码改成链接mysql?
private String className="com.microsoft.sqlserver.jdbc.SQLServerDriver"; //数据库驱动
private String url="jdbc:sqlserver://localhost:1433;DatabaseName=db_supermarket"; //连接数据库的UR
这两个地方改成mysql的配置就可以了
private String className="com.mysql.cj.jdbc.Driver"; //数据库驱动
private String url="jdbc:sqlserver://localhost:1433/db_supermarket";
java代码变成链接的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java链接生成二维码、java代码变成链接的信息别忘了在本站进行查找喔。






