在开发Android应用时,有时会要连接本地服务器,我们可能会首先想到用loaclhost或127.0.0.1等。这是不对了。因为模拟器是一个相对独立的系统,在模拟器中运行的程序用loacalhost或127.0.0.1将会连接模拟器本身。而不是你的本地计算机。
继续阅读Android模拟器连接本地服务器
作者:WuLauhua
Android 给Button加个监听
在Android开发过程中,Button是常用的控件,用起来也很简单,你可以在界面xml描述文档中定义,也可以在程序中创建后加入到界面中,其效果都是一样的。不过最好是在xml文档中定义,因为一旦界面要改变是话,直接修改一下xml就行了,不用修改Java程序,并且在xml中定义层次分明,一目了然。另一个是如果在程序中定义,还要将其加入到界面中,有的还要设置高度宽度,样式之类的,会使程序变得臃肿,开发和维护都不方便。
继续阅读Android 给Button加个监听
action不能往jsp中传递数据的问题
struts中一个action的配置如下:
action 中部分源代码:
public ActionForward list(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
log.debug(“list library “);
List list = libraryManagerService.listLibrarys();
if(list == null) log.debug(“there is not any library ,because list is null”);
else log.debug(“there are ” + list.size() + ” librarys .”);
request.setAttribute(“list”, list) ;
// request.getSession().setAttribute(“list”, list);
return mapping.findForward(“listLibrarys”);
}
jsp中部分源代码:
问题:
一次也不能循环.
在action的 List list = libraryManagerService.listLibrarys();后中加入:
log.debug(“list size=”+list.size());
运行结果:list size=6.
原因是:
中的redirect=”true”.直接转向后.request中的数据丢失.
改为redirect=”false”即可.
redirect 决定了action在使用forward跳转的时候是使用
RequestDispatcher rd = getServletContext().getRequestDispatcher(uri).forward(request, response);
还是
response.sendRedirect(response.encodeRedirectURL(uri));
在structs的类RequestProcessor中processForwardConfig方法里面有如下代码:
if(forward.getRedirect())//判断redirect是否为true
{
if(uri.startsWith(“/”))
uri = request.getContextPath() + uri;
response.sendRedirect(response.encodeRedirectURL(uri));
} else
{
doForward(uri, request, response);
}
其中的方法doForward如下:
protected void doForward(String uri, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
if(rd == null)
{
response.sendError(500, getInternal().getMessage(“requestDispatcher”, uri));
return;
} else
{
rd.forward(request, response);
return;
}
这两种跳转方法的区别是:
forward 会将 request state , bean 等等信息带往下一个 jsp
redirect 是送到 client 端后,再由client向服务器发送request,服务器接收到后来发的request中已经不包含上次的request的state,bean等信息了。所以在jsp中就接收不到相应的数据
Linux系统之间的网络文件共享
A. 设置本地共享目录
a. 在 “/etc” 下新建名为 “exports” 的文件: “touch /etc/exports”。
b. 按如下格式添加要共享的目录及共享的访问权限: “/home host1(rw) host2(r) host3(w)” *, 每个
目录一行。
c. 保存后重启系统或运行 “/sbin/service nfs restart”, 共享生效。
* 如果使用主机名(hostname)则必须将其添加到主机名列表中, 否则请使用IP 地址。
B. 挂载远程共享目录
a. 新建用来挂载的文件夹。
b. 使用命令 “mount r-host:/home/jelle/tmp /mnt/tmp” 或 “mount r-IP:/home/jelle/tmp /mnt/tmp”
手动
挂载远程主机 r-host/ 远程IP r-IP 上的共享目录; 或者在 “/etc/fstab” 中按如下格式添加自动挂载项:
“r-host:/home /mnt/tmp nfs defaults” 或 “r-IP:/home /mnt/tmp nfs defaults”。
刷新父窗口怎样才能不弹出“重试”“取消”对话框
window.opener.location.reload();刷新网页弹出如下信息:
不重新发送信息,则无法刷新网页。
请单击“重试”再次发送信息,或单击“取消”返回正察看的页。
window.opener.location.reload(true); //true代表从服务器重新获取,false为从缓存中获取,默认为false
window.operner.location.replace(window.opener.location);
method=”post”或”get”造成的,你把method=”post”或”get”去掉就好了
SQL Server无法连接的问题
症状:
1、用java程序执行下列语句时,不能通过,也不出错,一直处于等待状态。
Connection conn =
DriverManager.getConnection(url,”sa”,””);
2、用企业管理器不能打开数据库服务器。
3、查询分析器也不能打开数据库服务器。
原因:SQL Server协议启动顺序不正确。把tcp/ip放在最前即可。
SQL Server不能绑定端口
症状:
1、能启动MSSQLSERVER。
2、企业管理器能打开数据库。
3、查询分析器能打开数据库。
4、telent 1433端口 提示:正在连接到127.0.0.1…不能打开到主机的连接, 在端口 1433: 连接失败
5、系统日志中有如下信息:绑定在 TCP 端口 1433 上失败。
原因:防火墙隔离端口。
解决方法:启动MSSQLSERVER前先关闭防火墙。