成长

来源:互联网 发布:美国基建 知乎 编辑:程序博客网 时间:2024/05/16 19:45
1 ,<a>标签 :
<a href="<%=basePath%>flux/deleteMockInterface?deleteId=${mockInterfaceInfo.id}">
后台controller获取参数(String deleteId),直接能将url中的参数传递到接口参数中
2 ,controller如果写了@responseBody则返回的值(String 或者json能传递到页面中)
3,ajax请求中的data中的数据,传递到后台使用@requestParam(required=true) String id)
4,表单提交数据到后台,直接获取<input>中的参数,然后
        form.action = "<%=basePath%>flux/searchMockInterface";
        form.method="post";
        form.submit();
        该参数在后台也是直接传递到接口的参数
        
        
ne  不相等,eq相等


5 controller中的数据想传递到前端
@RequestMapping(value="/monitor", method = {RequestMethod.GET, RequestMethod.POST})
    public String deviceList(ModelMap model, DeviceMonitorRequest params, String fromPage, HttpServletRequest request){
        Page<DeviceMonitorDto> page = deviceMonitorService.findList(params);
        model.addAttribute("page", page);
        model.addAttribute("fromPage", fromPage);
        model.addAttribute("dmpUrl", ExternalSysConst.DMP_URL);
        return "/device/deviceMonitorList";
    }
    
    前端获取后端的数据
    <c:forEach items="${page.list}" var="item" varStatus="status">
    
    
    
6,a标签的href属性不用加<bathpath>而form标签中的action需要加<bathpath>
    
    
    <form id="orderForm_${item.orderId}" action='${dmpUrl }/orders' method='post'>
                                    <input type="hidden" id="orderId" name="orderId" value="${item.orderId}"/>
                                    <a href="javascript:submitOrderForm('${item.orderId}')">${item.orderId}</a>
                                </form>
                                
                                
                                
7,a标签会另外新增一个页面?form不会新增一个页面?
    
    
8,重定向可以防止重复提交
    return "redirect:/login2"
    
9    url中传如后台的参数,可以直接当做方法的参数,不用加@等 ajax请求中的url中的参数需要加@requestParam   form  commit提交的参数也不用加@

10,spring mvc中使用@responsebody返回的对象,会传给ajax 返回的function(data)传给这个data


11,上线,需要保存最新版本,还要版本管理,,复制到两个文件夹,(发布,重新部署,查看console out 验证)

12mysql修改表字段名称 alter table 表名 change 现有字段名称  修改后字段名称 数据类型


13,接口可以定义成员变量,但必须是常量
引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的,扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类 ,tomcat为每个App创建一个Loader,里面保存着此WebApp的ClassLoader。需要加载WebApp下的类时,就取出ClassLoader来使用


14,类中可以有方法,方法名同类名相同,????又返回值,,,,,,Java程序中的类名称必须与存放该类的文件名相同。这是错误的,public修饰的类必须和文件名同名,一个文件中只能有一个类是public修饰的


15,final修饰的变量,不能再指向别的地址,,但是能改变里面的值


16,<form id="searchForm" action="${ctx}/operate" method="post" class="form-inline" role="form">
            <input type="hidden" id="targetPage" name="targetPage" value=""/>

            <div class="form-group">
                    <label for="searchAreaName" class="control-label">目的地名称:</label>
                    <input type="text" class="form-control" placeholder="目的地名称" name="areaName" id="searchAreaName" value="${areaNameController}">
            </div>
            
             <div class="form-group">
                    <label for="searchAreaCode" class="control-label">目的地code:</label>
                    <input type="text" class="form-control" placeholder="目的地code" name="areaCode" id="searchAreaCode" value="${areaCodeController}">
            </div>
            
            <div class="form-group">
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <button class="btn btn-primary" type="submit" id="searchFormSubmit1">搜索</button>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <a  class="btn btn-primary type="button"  id="resetForm">重置</a>
                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <a  class="btn btn-primary type="button"  id="addForm">添加</a>
            </div>
            
        </form>这样也能提交表单
    
    
    
17,内部类(一个类定义在另外一个类里面,或者定义在一个类的方法里面)

因为内部类可以随意使用外部类的成员变量(包括私有)而不用生成外部类的对象,这也是内部类的唯一优点
成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)。
    
不过要注意的是,当成员内部类拥有和外部类同名的成员变量或者方法时,会发生隐藏现象,即默认情况下访问的是成员内部类的成员。如果要访问外部类的同名成员,需要以下面的形式进行访问:    
    外部类.this.成员变量
    外部类.this.成员方法
    
虽然成员内部类可以无条件地访问外部类的成员,而外部类想访问成员内部类的成员却不是这么随心所欲了。在外部类中如果要访问成员内部类的成员,必须先创建一个成员内部类的对象,再通过指向这个对象的引用来访问

局部内部类(方法里面的类)
 注意,局部内部类就像是方法里面的一个局部变量一样,是不能有public、protected、private以及static修饰符的。

匿名内部类  监听事件 runnable 等接口
静态内部类也是定义在另一个类里面的类,只不过在类的前面多了一个关键字static。静态内部类是不需要依赖于外部类的,这点和类的静态成员属性有点类似,并且它不能使用外部类的非static成员变量或者方法,这点很好理解,因为在没有外部类的对象的情况下,可以创建静态内部类的对象,如果允许访问外部类的非static成员就会产生矛盾,因为外部类的非static成员必须依附于具体的对象。


为什么内部类能够无条件访问外部类,因为内部类中有一个fianal指向外部类的指针,并且在内部类的构造函数中有这个参数,这个参数就是指向外部类的
2.为什么局部内部类和匿名内部类只能访问局部final变量?


sleep和wait的区别
1,sleep是Thread的方法,wait是object的方法
2,sleep不会释放锁,会让出cpu去执行其他的线程  wait会释放锁 进入等待要等待notify


object的方法
clone  hashcode equals  finalize  wait notify notifyall toString getClass



基本类型封装等知识、
==  比较的是地址,equals比较的是类型

 子类的构造方法总是先调用父类的构造方法,如果子类的构造方法没有明显地指明使用父类的哪个构造方法,子类就调用父类不带参数的构造方法。
而父类没有无参的构造函数,所以子类需要在自己的构造函数中显示的调用父类的构造函数。



而b1和b2是byte类型,java中进行计算时候将他们提升为int类型,再进行计算,b1+b2计算后已经是int类型,赋值给b3,b3是byte类型,类型不匹配,编译不会通过,需要进行强制转换。


switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持。

静态的内部类才可以定义static方法

sleep和wait的区别有:
  1,这两个方法来自不同的类分别是Thread和Object
  2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得敏感词线程可以使用同步控制块或者方法。
  3,wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在
    任何地方使用
   synchronized(x){
      x.notify()
     //或者wait()
   }
   4,sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常
   
   
   1.抽象类可以有构造方法,接口中不能有构造方法。  
2.抽象类中可以有普通成员变量,接口中没有普通成员变量  
3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。  
4. 抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然  
eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。  
5. 抽象类中可以包含静态方法,接口中不能包含静态方法  
6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。  
7. 一个类可以实现多个接口,但只能继承一个抽象类。  
下面接着再说说两者在应用上的区别:  
接口更多的是在系统架构设计方法发挥作用,主要用于定义模块之间的通信契约。而抽象类在代码实现方面发挥作用,可以实现代码的重用, 
0 0
原创粉丝点击