JAVA EE疑问集

   1、 我知道很多都是通过session来保存特定用户的用户名与密码等信息的。 假如我在同一台电脑上面先后以不同的身份向同一个网站登陆, 那么此时网站是如何保证两个不同的帐号互不干扰的? 或者说jsp中怎样为不同的用户开辟不同的session空间?

  2、  我在做网站A页面登陆,假如登陆通过验证则进入B页面,假如验证失败则在A页面的特定位置输入提示信息“你输入的用户名或密码不正确”。我第一次登陆失败返回了提示信息,然后我再刷新A页面,但是那个提示字符串却仍在那儿,如何解决呢?

    是否可以在A页面如此做: 判断返回的user是否为空,如果不为空的话则<%=request.getAttribute("note"),然后再request.removeAttribute("note").不知这样子是否可以解决上述的问题, 待验证!!!

3、 对于JSP页面的刷新问题不是很理解, 刷新就是相当于重新向服务区发送了一次请求吗? 碰到与刷新相关的一些问题:a.两个table刷新几次后比例就变化了, 解决方案: 因为刷新后table中的数据有了变化,而我的<tr><td>等又没有指定大小。

b.jsp页面里面有几个下拉列表,请问我在点击提交后经过servlet再回到这个jsp页时,怎么才能让下拉列表框中的选中项不改变?(现在回到这页后,都是重置状态) 。 解决方案: 可以试一下利用Ajax的无刷新提交 ;

4、 jsp页面中有一个按钮,点击它实现页面刷新效果,通过javascript实现:

<input type="button" onclick="javascript:window.location.reload()" value="刷新"/> 5、怎样点击 退出登录,就在 本页 把session值清空了啊?(jsp页面)? 解决方案:<script type="text/javascript"> function logout(){ <% session.removeAttribute("sessionName"); %> } </script> <input type="button" value="退出登录" onclick="logout()">或者调用session.invalidate();

5、 在网页中要实现一个高级搜索的功能,也即实现动态查询。如:我想说的就是在一个表单中有多个查询条件,如果输入了关键字,就查,不输入就不查询,说简单一点,就是怎么样动态构建查询条件?   待解决???
      与同学讨论了一下,发现有两种解决方案: (一)不使用通配符的情况:

PreparedStatement ps = Connection.prepareStatem(sql)
  select * from aa where 1=1
  if(name!=""){
   sql += " and name = '"+name+"'"
  }
  name = sds' or '1=1

(二)上述方法虽然少了rs.setInt()...这样的再次判断麻烦,但是也因此容易导致SQL注入,给程序带来安全隐患。但假如你用的是通配符的话如上述的那种情况写到SQL中时其会自动由一个'变两个''。

6. 关于在项目中建立VO对象的问题, 利用VO对象的set/get方法传值, 但是假如我在此过程中多次地调用其set/get方法会不会发生混乱? 因为每set一次就会将VO对象里面的值更新一次, 这样子使用... ...  通过今天做的动态查询使我发现了一个非常严重的问题, 那就是对VO没有真正掌握。

   如:我首先建立了一个HouseInfo类,里面是一些属性域set/get()方法,然后我在A类中new了一个HouseInfo类的对象并set了一些列的值, 然后我又有一个B类在其中也创建了一个HouseInfo对象其包含一系列的get()方法。^_^  ^_^ 最后我天真地在B类中直接调用get方法去取值, 意味可以取得A类中设置的值。 通过测试, 发现B类中取得都为空值... ... 

     反思总结: VO对象一般只作为传递数据用,如果要通过get()方法去取得set的值也不是不可以,只是我上述的做法不行。如我在A类中set了一系列的值, 如果我想得到A类中set的值的话则得在B类中获得A类中的那个VO对象。

7、俗话说得好,“工欲善其事,必先利其器”。然而我一直对工具方面的使用技巧不那么在乎。今天在用myeclipse中启动tomcat时时间竟然10000多毫秒, 朋友问我怎么会这么慢? 我说可能是因为电脑配置的原因吧, 说罢朋友来检查了一会就发现问题了。原来是我的myeclipse中已经存在多个工程了,我在部署新的工程时它会先扫描一下以前的工程,因此导致速度大大降低了。具体调节方法如下:在使用当前工程时关闭其他不相关的工程,然后再调试出Servers来进行查看。 还有就是我们在编程过程中可以将myeclipse提供的自动编译功能改成手动编译,提高速度。

8、 在myeclipse或者eclipse下有时一些正确的代码下有红线, 我们可以尝试着重新编译一下来解决这个问题。

9、 在JS中,触发一个事件可以调用多个函数吗? 我想到的一种可能的解决方式是JS函数嵌套, 但问题是我对JS函数的嵌套也不怎么理解。 学习...  请教... 思考

10、我在A.jsp页面的表单中有个下拉列表,下拉列表的value为123...这样的数字,而对应的文本值则为长沙、衡阳、邵阳等等。我想在B页面接收到从A.jsp页面中选择的下拉框的文本值... 可是老是取不到?  怎样才可以了?

    解决之道: 在JS中document.all("下拉列框的名字").options[获得的对象.selectedIndex].innerHTML; 关于传递也有两种方式,一种是get方法,用window.location.href后带问号与参数的方式;

    方式二: 通过post方法, 在表单中设置隐藏文本域,然后将取得的文本值赋值给隐藏文本域,再传递过去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值