Android模拟器连接本地服务器

在开发Android应用时,有时会要连接本地服务器,我们可能会首先想到用loaclhost或127.0.0.1等。这是不对了。因为模拟器是一个相对独立的系统,在模拟器中运行的程序用loacalhost或127.0.0.1将会连接模拟器本身。而不是你的本地计算机。
继续阅读Android模拟器连接本地服务器

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中部分源代码:

${library.code} ${library.name} ${library.buildTime} “>添加 “>修改 “>删除




问题:


一次也不能循环.

在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前先关闭防火墙。