hyljava

#

刷新窗口的方法

<script type="text/javascript"> 

    window.parent.dialogArguments.document.execCommand('Refresh');   

</script> 

浮层内嵌iframe及frame集合窗口,刷新父页面的多种方法

<script type="text/javascript">   

   window.parent.location.reload();   

</script> 

弹出子页面
<script type="text/javascript">
   window.opener.location.reload();   
</script> 
子窗口刷新父窗口
<script type="text/javascript">
   window.self.opener.location.reload();   
</script> 
刷新以open()方法打开的窗口[上面的弹出子页面也可以完成]
<script type="text/javascript">
     window.opener.location.href=window.opener.location.href;   
</script> 

posted @ 2013-04-12 15:53 何云隆 阅读(297) | 评论 (0)编辑 收藏

js中对象冒充示例

javascript对象冒充示例
 <script type="text/javascript">
        function Animal(name,age){
            this.name=name;
            this.age=age;
            this.eat=function(){
                alert("动物可以吃东西");
            }
        }
        function Dog(name,age){
            //把Animal构造函数赋给this.an
            this.an=Animal;
            //运行调用@!!!!非常重要
            this.an(name,age);
        }
        var dog=new Dog("小白",2);
        alert(dog.name);
        dog.eat();
 </script>

posted @ 2013-04-12 15:44 何云隆 阅读(1756) | 评论 (0)编辑 收藏

提示输入内容

<input name="keyword"  type="text"  value="请输入关键字" onFocus="this.value=''" onBlur="if(!value){value=defaultValue;}"/>

posted @ 2013-04-12 15:37 何云隆 阅读(3049) | 评论 (2)编辑 收藏

阻止超级连接的跳转

<a href="javascript:void(0)" onclick="changeMa()">看不清</a>
onclick事件会被引发,但是不会发生任何跳转,相当于一个死链接

posted @ 2013-04-12 15:34 何云隆 阅读(1232) | 评论 (0)编辑 收藏

SpringMVC做二级联动

<select id="myCol" onchange="getChange()">
<option value="1">
大连交大
</option>
<option value="2">
东北财经
</option>
<option value="3">
大连海事
</option>
</select>
<select id="myGet">
</select>


<script type="text/javascript"  >
function getChange() {
//获取到第一个select表单value值
var myCol = document.getElementById("myCol").value;
  //拼接成要获取值的url
var url = "getCateGory?myCol=" + myCol; //url  
//利用jquery的ajax方法,使用此方法要引jquery包
htmlobj = $.ajax( {
url : url,
async : false
});
//此处利用json处理值,还需要引json包,在服务器端可以使用GSON转化数据,响应当前页面
/*服务器端:
//需要引GSON包
  //创建一个Gson对象
Gson gson = new Gson();
//返回一个json格式的字符串 
String pStr = gson.toJson(user);
      System.out.println(pStr);
out.print(pStr);
*/
//接取响应值,并且转化成JSON对象
var obj = JSON.parse(htmlobj.responseText);
//此变量是为拼接而做
var options = "";
var myGet = document.getElementById("myGet");
//myGet.removeChild("option");
//删除现有option节点
for ( var i = 1; i <= myGet.length; i++) {
myGet.remove(i);
}
myGet.remove(myGet.selectedIndex);
   //利用循环,在此将新的option添加上
   for(var i=0;i<obj.length;i++){
  alert(obj[i].uUserName);
     var myOption=document.createElement("option");
  myOption.setAttribute("value",obj[i].uId);
  var testN=document.createTextNode(obj[i].uUserName);
myOption.appendChild(testN);
  myGet.appendChild(myOption);
  
 //此种方法最简单,但是没有技术含量
 //options+="<option value='"+obj[i].uId+"'>"+obj[i].uUserName+"</option>";
 }
// myGet.innerHTML=options;
  
}
</script>

posted @ 2013-04-12 15:30 何云隆 阅读(3907) | 评论 (0)编辑 收藏

Spring MVC级联查询(用户与地址之间关系)

 这里的级联查询仿照Hibernate中的一对多关系映射,写个例子留个笔记
(地址表主表,用户表从表)
用户表(类)User
成员变量如下,并且对应有get和set方法
        private String uId;
private String uUserName;
private String uPassWord;
private String uTelephone;
private int uAge;
private Date uBirthday;
对应的表如下:
 
地址表(类)Address成员变量如下:
        private int no;
private String name;
private List<User> userList;


对应的UserDao中先写:
public List<User> findByAddressId(int a){
String sql="select * from usermbo where address=?";
List<User> users = new  ArrayList<User>();
Object[] params=new Object[]{a};
users = jdbcTemplate.query(sql,params, new UserRowMapper() );
return users;
}

private class UserRowMapper implements ParameterizedRowMapper<User>{
public User mapRow(ResultSet rs, int rowNum) throws SQLException {
User user = new User();
user.setuUserName(rs.getString("username"));
user.setuAge(rs.getInt("age"));
user.setuId(rs.getInt("id")+"");
user.setuTelephone(rs.getString("telephone"));
return user;
}
}

此部完成以后,再写AddressDao

@Autowired
private UserDao userDao ;


public List<Address> getAddress(){
String sql="select * from address";
List<Address> addresss = new  ArrayList<Address>();
addresss = jdbcTemplate.query(sql, new AddressRowMapper() );
return addresss;
}
private class AddressRowMapper implements ParameterizedRowMapper<Address>{
public Address mapRow(ResultSet rs, int rowNum) throws SQLException {
Address address=new Address( );
address.setNo(rs.getInt("no"));
address.setName(rs.getString("name"));
         address.setUserList( userDao.findByAddressId(rs.getInt("no")));
return address;
}
}
Service层再配一下(此层不配也行直接将
@Autowired
private AddressDao addressDao ;引入Controllar中即可)
在Controllar中再写
addressService.getAddress()就可以查出结果
 [Address [name=计算力, no=1, userList=[User [uAddress=null, uAge=12, uBirthday=null, uId=11, uPassWord=null, uTelephone=1234567, uUserName=张三]]], Address [name=大连, no=2, userList=[]], Address [name=海南, no=3, userList=[User [uAddress=null, uAge=34, uBirthday=null, uId=12, uPassWord=null, uTelephone=2323232323, uUserName=李四], User [uAddress=null, uAge=33, uBirthday=null, uId=13, uPassWord=null, uTelephone=2323, uUserName=王武]]]] 

posted @ 2013-04-12 13:10 何云隆 阅读(3911) | 评论 (3)编辑 收藏

SPRING-MVC访问静态文件,如jpg,js,css

SPRING-MVC访问静态文件,如jpg,js,css

 

如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。

 

目的:可以正常访问静态文件,不要找不到静态文件报404。
 
方案一:激活Tomcat的defaultServlet来处理静态文件

Xml代码  <servlet-mapping>       <servlet-name>default</servlet-name>      <url-pattern>*.jpg</url-pattern>     </servlet-mapping>    <servlet-mapping>           <servlet-name>default</servlet-name>        <url-pattern>*.js</url-pattern>    </servlet-mapping>    <servlet-mapping>            <servlet-name>default</servlet-name>           <url-pattern>*.css</url-pattern>      </servlet-mapping>    要配置多个,每种文件配置一个   

要写在DispatcherServlet的前面, 让defaultServlet先拦截,这个就不会进入Spring了,我想性能是最好的吧。


Tomcat, Jetty, JBoss, and GlassFish  默认 Servlet的名字 -- "default"
Google App Engine 默认 Servlet的名字 -- "_ah_default"
Resin 默认 Servlet的名字 -- "resin-file"
WebLogic 默认 Servlet的名字  -- "FileServlet"
WebSphere  默认 Servlet的名字 -- "SimpleFileServlet" 

 

 


方案二: 在spring3.0.4以后版本提供了mvc:resources 
mvc:resources 的使用方法:

Xml代码  <!-- 对静态资源文件的访问 -->    <mvc:resources mapping="/images/**" location="/images/" />  

  
/images/**映射到 ResourceHttpRequestHandler进行处理,location指定静态资源的位置.可以是web application根目录下、jar包里面,这样可以把静态资源压缩到jar包中。cache-period 可以使得静态资源进行web cache 
 
如果出现下面的错误,可能是没有配置<mvc:annotation-driven />的原因。 
报错WARNING: No mapping found for HTTP request with URI [/mvc/user/findUser/lisi/770] in DispatcherServlet with name 'springMVC'

 

使用<mvc:resources/>元素,把mapping的URI注册到SimpleUrlHandlerMapping的urlMap中,
key为mapping的URI pattern值,而value为ResourceHttpRequestHandler,
这样就巧妙的把对静态资源的访问由HandlerMapping转到ResourceHttpRequestHandler处理并返回,所以就支持classpath目录,jar包内静态资源的访问.
另外需要注意的一点是,不要对SimpleUrlHandlerMapping设置defaultHandler.因为对static uri的defaultHandler就是ResourceHttpRequestHandler,
否则无法处理static resources request.

 

 

方案三 ,使用<mvc:default-servlet-handler/>

Xml代码  <mvc:default-servlet-handler/>  

 

会把"/**" url,注册到SimpleUrlHandlerMapping的urlMap中,把对静态资源的访问由HandlerMapping转到 org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler 处理并返回.
DefaultServletHttpRequestHandler使用就是各个Servlet容器自己的默认Servlet.

 

 

补充说明:多个HandlerMapping的执行顺序问题:

DefaultAnnotationHandlerMapping的order属性值是:0

<mvc:resources/ >自动注册的 SimpleUrlHandlerMapping的order属性值是: 2147483646

 

<mvc:default-servlet-handler/>自动注册的SimpleUrlHandlerMapping的order属性值是:2147483647

 

spring会先执行order值比较小的。当访问一个a.jpg图片文件时,先通过DefaultAnnotationHandlerMapping 来找处理器,一定是找不到的,我们没有叫a.jpg的Action。再按order值升序找,由于最后一个SimpleUrlHandlerMapping 是匹配"/**"的,所以一定会匹配上,再响应图片。

 

访问一个图片,还要走层层匹配。真不知性能如何?改天做一下压力测试,与Apache比一比。

 

最后再说明一下,如何你的DispatcherServlet拦截 *.do这样的URL,就不存上述问题了。


转载至:http://hi.baidu.com/blueskyfaith/item/a47483a91d5cfce015329b98

posted @ 2013-04-09 14:48 何云隆 阅读(4728) | 评论 (1)编辑 收藏

JSP编程的过程中会遇到各种各样的问题

 

在JSP编程的过程中会遇到各种各样的问题

JSP常见问题1:

表单request汉字处理:

  1. request.setCharacterEncoding("GB2312") 

JSP常见问题2:

在JSP网页中获取页面的名称:

  1. request.getRequestURI() ;//文件名  
  2. request.getRequestURL() ;//全部url 

JSP常见问题3:

页面不保留缓存:

  1. response.setHeader("Pragma","No-cache");  
  2. response.setHeader("Cache-Control","no-cache");  
  3. response.setDateHeader("Expires", 0);  
  4.  

JSP常见问题4:

日期时间(服务器端)

  1. String datestr ;  
  2. java.text.DateFormat df = new java.text.SimpleDateFormat("MM月dd日 HH:mm E"); //这里格式化  
  3. datestr = df.format(new java.util.Date()) ;  
  4. out.println(datestr);  
  5.  

或者

  1. % java.util.Date shijian= new java.util.Date();%>  
  2. %=shijian.getYear()+1900%>%=shijian.getMonth()+1%>%=shijian.getDate()%>  
  3. %=shijian.getHour()%>%=shijian.getMinute()%>  
  4.  

JSP常见问题5:

java中运用正则。

jdk需是1.4以上 import="java.util.regex.*

JSP常见问题6:

点后退显示网页过期

在里面加以下代码

  1. META http-equiv=Pragma content=no-cache  
  2. META http-equiv=Cache-Control content=no-cache  
  3. META http-equiv=Expires content=0  
  4.  

和 3 原理一样。

JSP常见问7:

swtich不能作用在long上和String上:

switch(expr1)中,expr1是一个整数表达式。传递给 switch 和 case 语句的参数应该是
int、 short、 char 或者 byte。long,string 都不能作用于swtich。

JSP常见问题8:

计算执行所花费的时间

代码开始取时间,结束后取时间,相减

  1. long t1 = System.currentTimeMillis();  
  2. .... ...... ....  ...your code  
  3. long t2 = System.currentTimeMillis() ;  
  4. long time = t2-t1;  
  5.  

JSP常见问题9:

四舍五入,保留小数点后两位小数?

  1. import java.text.*;  
  2. NumberFormat nf=NumberFormat.getNumberInstance();  
  3. nf.setMaximumFractionDigits(2);  
  4. nf.setMinimumFractionDigits(2);  
  5. nf.format(numb);  

或者(+0.005 - 0.01)再取.后两位

JSP常见问题10:

form的默认方法是get.

post方式是向服务器传送大容量数据时使用的方法。(再打开一个socket.?)

JSP常见问题11:

防止用户直接输入url进去页面:

◆是在要访问的页面中加入控制.这个一般用session。

◆是从web服务器控制,对某一目录的所有访问要通过验证.(有人说把jsp放到web-inf下)

JSP常见问题12:

数据库是datetime 型 ,插入当前时间到数据库:

  1. java.sql.Date sqlDate = new java.sql.Date();  
  2. PreparedStatement pstmt = conn.prepareStatement("insert into foo(time) values(?)");  
  3. pstmt.setDate(1,sqlDate);  
  4. pstmt.executeUpdate();  
  5.  

其实一般数据库都有自己的系统时间函数。

insert into foo(time) values(sysdate)

JSP常见问题13:

session存取int类型的变量:

  1. session.setAttribute("int", i+""); //注意这里i+""  
  2. int i = Integer.parseInt(session.getAttribute("int"));  
  3.  

session的一些概念。

用户在浏览网页时,由于Http 协议是一种无状态的协议,往往在不同的页面之间存在数据交换的问题,这就需要在这些不同的页面之间共享数据。常见的实现方法是把要共享的数据保存到 Session 中。比如在用户登录的页面中把一些用户的信息保存到Session 之中,然后在其他的页面中读取用户的信息。这些共享的数据可以是字符串或者与Java 的原始数据类型相关的对象,也可以是一个Java 对象。

Session 只能保存对象,不能保存原始的数据类型,比如:

session.setAttribute(“count”,10)

是非法的语句,如果要把值为10 的整数保存到Session 中,需要使用以下的方法:

session.setAttribute(“count”,new Integer(10));

然后在另一个页面中使用:

(Integer)session.getAttribute(“count”)

来把这个整数读取出来。

was中设置可以把session放在系统的数据库中,但这样影响效率。session大小最好不要太大

JSP常见问题14:

把字符转化成ASCII码

int a='A'; out.println(a);

JSP常见问题15:

String s = new String("xyz");创建了两个String Object对象,一个是“xyx”,一个是指向“xyx”的引用对象s。

还有典型的equals() 与 == 这个参考在堆栈原理。

JSP常见问题16:

Hashtable和HashMap 

Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现HashMap允许将null作为一个entry的key或者value,而Hashtable不允许

Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。

posted @ 2013-03-25 17:17 何云隆 阅读(310) | 评论 (0)编辑 收藏

师者,所以传道授业解惑也

师者,所以传道授业解惑也。”一千多年前韩愈在《师说》里讲的这句话,几乎成了教师职业的定义,直到今天,我们很多中小学老师仍然常常以“传道授业解惑”者自居,却不知韩老先生说的“传道授业解惑”,本不是指的中小学老师。

     韩愈在《师说》中说得很清楚:“彼童子之师,授之书而习其句读者也,非吾所谓传其道、解其惑者也。”(那些小孩子的老师,是教孩子读书,掌握句读的,并不是我所谓的传授道理、解答疑难的人)古代所谓的“童子”,大致相当于今天的未成年人,也就是中小学生。这些孩子的老师的工作,在韩愈眼里,是谈不到“传道授业解惑”的。可见,今天中小学教师以传道授业解惑者自居,并不符合韩老先生的本意。
     韩愈的这种态度说明了什么呢?我想,这一方面说明了韩愈对基础教育的轻视,另一方面也说明了他的清醒。我国古代的教育,基本上是成人教育,孔子的学生好像没有未成年人,都是大老爷们。所以我国古代的教育思想,都是成人教育思想,那时的教育家们,对于儿童心理和儿童的成长规律,比较生疏,也不屑于研究,这应该说是一个缺点。这也提醒我们,在继承古代教育思想的时候,要注意有所分析、改造和取舍,不能盲目传承。

     今天的中小学教师,张口就说什么“传道授业解惑”,这是比较盲目的。同时我们应该看到,韩愈的这种态度自有一定的合理性。他对未成年人的教育,期望值不算高,相较于今日每天高喊“人文主义”的教育者们,我觉得韩愈的头脑没有发热,他并不指望孩子小小年纪就能入“道”。韩愈的要求或许低了点,基础教育确有影响学生世界观价值观的作用,但是,把“立人”的千钧重担都放在或主要放在中小学教师的身上,显然缺乏合理性。

    不过,传道授业解惑这种提法,用于今日,毛病还是很大的。传,授,解,分明是一副教师中心,居高临下的姿态,抹杀了受教育者的主体性,有明显的灌输色彩。这种教育姿态,无论在成人教育、高等教育还是基础教育中,都是落后的。

    要“解惑”当然必须学习,但学习不等于必须“从师”,“从师”而学只是学习的一部分,或者一小部分。离开学习就没有老师,离开老师却有学习。“惑而不从师,其为惑也,终不解矣”,等于宣布学生不可能超过老师,也就等于否定了革新和创造,剩下的只有继承。这是一种将人际关系凌驾于智慧之上的思维方式,是学习领域中的“人治”。它当然会抑制智慧的发展。这是一种封闭的思维方式,它只有单向的传递,没有双向的交流。它当然会抑制科学的进步。西方的哲人却另有一种思维方式:“我爱老师,但更爱真理!”这是一种真理高于人际关系的思维方式。这是一种开放的、双向的思维方式。它推动了西方智慧的发展,科学的进步。
    往事越千年。在我们的学校里,绝大部分老师至今还姓“韩”,学生还是在等着老师来“解惑”,甚至连他们的“惑”都是老师提出的,只是一种“解惑表演。”(考试不就是这样吗)我见到有的博士生,一接触到和导师不同的见解,立刻噤若寒蝉,一副“若为尊师故,真理亦可抛”的架式。你看这人际关系有多么厉害!要想鼓励创新,只好对“惑而不从师 ,其为惑也,终不解矣”的思维方式进行改革,没有办法。
转载至:http://hnpx.cersp.com/article/browse/102634.jspx

posted @ 2013-03-25 13:10 何云隆 阅读(210) | 评论 (0)编辑 收藏

(转载)Session

     摘要: 摘要:虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术。本文将详细讨论session的工作机制并且对在Java web application中应用session机制时常见的问题作出解答。目录:一、术语session二、HTTP协议与状态保持三、理解cookie机制四、理解session机制...  阅读全文

posted @ 2013-03-23 09:53 何云隆 阅读(225) | 评论 (0)编辑 收藏

仅列出标题
共11页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last