java.net.connectexception无法连接至服务器
出现这个问题的原因,就是连接远程服务的网络不通或者是端口有问题导致的。
问题原因排查:
第一步:在黑窗口中输入 :ping ip是否连通;如果没问题进行第二步。
第二步:在黑窗口中输入:telnet ip 端口,查看端口是否可以访问,如果没问题进行第三步。
第三步:在黑窗口输入:ping 地址(此地址就是conn的地址)。
备注:以上三步肯定能够排查出问题原因的。如果还是不行,那么就是代码编写的有问题。
因为服务器linux系统的/etc/profile里面的系统变量CLASSPATH需要改一下,就是需要定位到当前java文件所在的目录,把CLASSPATH改成了下面这样(其实就是加个 :):
CLASSPATH=:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/toolsjar
不知有帮助没有了
<%@ page
import=" javaxmail, javaxmailinternet, javaxactivation,javautil"
%>
<html>
<head>
<TITLE>JSP meets JavaMail, what a sweet combo</TITLE>
</HEAD>
<BODY>
<%
try{
Properties props = new Properties();
Session sendMailSession;
Store store;
Transport transport;
sendMailSession = SessiongetInstance(props, null);
propsput("mailsmtphost", "smtpjspinsidercom");
Message newMessage = new MimeMessage(sendMailSession);
newMessagesetFrom(new InternetAddress(requestgetParameter("from")));
newMessagesetRecipient(MessageRecipientTypeTO, new InternetAddress(requestgetParameter("to")));
newMessagesetSubject(requestgetParameter("subject"));
newMessagesetSentDate(new Date());
newMessagesetText(requestgetParameter("text"));
transport = sendMailSessiongetTransport("smtp");
transportsend(newMessage);
%>
<P>Your mail has been sent</P>
<%
}
catch(MessagingException m)
{
outprintln(mtoString());
}
%>
</BODY>
</HTML>
s
=
new
socket("127001",
8880)
前面那个ip是服务器的地址,只要这个ip写正确了,服务器放在哪里,客户端都能连上去的。
1270。01最简单的解释就是本机地址,你用这个ip,访问的就是你自己。
你可以去服务器上查看一下网络地址,然后把1270。01换成服务器的ip。
说下 debug的思路 你把 服务端和客户端的代码 都在本地跑一把,用不同的端口,测试是不是代码的问题, 然后把这些代码全部部署到阿里云服务器上面去,看看在阿里云服务器上是否有问题,
然后你把你服务端的代码 部署到 阿里云上面去,首先你需要知道阿里云的外网IP, 首先你在ping 阿里云的外网IP ,能不能ping 通,查看你本地是否可以连接到 阿里云。这里面你需要注意的是 阿里云服务器本身的设置,是否开启的防火墙,是否允许对应的端口,这里有一堆网络设置的问题,能想到的就这些。 如果能ping通的话,很大可能是 阿里云服务器的网络配置问题,防火墙,端口,访问策略,允许访问的IP,不是运维,想到的就这么多
java中使用jdbc连接sql server数据库步骤:
1JDBC连接SQL Server的驱动安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证)
<1> 将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbcjar文件,得到其路径开始配置环境变量
在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_12\enu\sqljdbcjar
<2> 设置SQLEXPRESS服务器:
a打开SQL Server Configuration Manager -> SQLEXPRESS的协议 -> TCP/IP
b右键单击启动TCP/IP
c双击进入属性,把IP地址中的IP all中的TCP端口设置为1433
d重新启动SQL Server 2005服务中的SQLEXPRESS服务器
e关闭SQL Server Configuration Manager
<3> 打开 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample
<4> 打开Eclipse
a新建工程-> Java -> Java project,起名为Test
b选择eclipse->窗口->首选项->Java->installed JRE 编辑已经安装好的jdk,查找目录添加sqljdbcjar
c右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path, 添加扩展jar文件,即把sqljdbcjar添加到其中
<5> 编写Java代码来测试JDBC连接SQL Server数据库
import javasql;
public class Test {
public static void main(String[] srg) {
//加载JDBC驱动
String driverName = "commicrosoftsqlserverjdbcSQLServerDriver";
//连接服务器和数据库sample
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
String userName = "sa"; //默认用户名
String userPwd = "123456"; //密码
Connection dbConn;
try {
ClassforName(driverName);
dbConn = DriverManagergetConnection(dbURL, userName, userPwd);
Systemoutprintln("Connection Successful!"); //如果连接成功 控制台输出
} catch (Exception e) {
eprintStackTrace();
}
}
}
执行以后就可以连接到sample数据库了。
1,如果你要要用jdbc-odbc桥的话,可以在建立数据源的时候,让数据源直接指向数据库,或者说简单点儿,不同多建几个数据源,每个数据源连不同的数据库
2,推荐使用jdbc直连数据库的方式访问数据库
DriverManagergetConnection(),同样的getConnection()方法就可以,方法的参数自己查API去
3,或者可以用hibernate数据库持久层技术访问数据库
回答补充:
1请把你的需求说明确!
2直连的话,只是需要几个包而已,复制过来就可以了如果你坚持用桥连,那么就要在你要使用的电脑上建立odbc数据源,每换个电脑,就要建立一次,如果用直连,直接把jar包和代码弄到新机器上就可以了
0条评论