当前位置: 首页 > news >正文

2013年工作中遇到的20个问题:141-160

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

141.Tomcat启动时,提示没有找到某个类NoClassDefFoundError.
Eclipse源文件中,确实存在。

解决方案:选中Tomcat,右键-Clean,清除(Clean)Tomcat下的资源。

142.写js的时候,经常遇到兼容性问题。
今天在使用一个公司内部人士写的组件时,IE下又遇到问题了。
请他来帮忙解决,IE下调试快捷键是F12。有了提示,解决就方便多了。
IE不允许直接修改button的type属性。

143.Spring发邮件
Spring3.1.1 不需要配置spring-context-support

Spring3.2.3必须手动配置

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>3.2.3.RELEASE</version>
        </dependency>

144.Mybatis中 #{name}表示字符串
   $原样输出 order by
   
   String in ="1,2,3";
   
   select * from User where id in(${in})
   --- select * from User where id in(1,2,3),即使是字符串,也不加引号
   select * from User where name = #{name}
   ---select * from User where name = 'FansUnion'
   select * from User where id = #{id}
   ---select * from User where id = 20
    
   我的理解是:$一定是原样输出,而#会自动去判断,如果是字符串就加'',int就不加''。

145.内网与外网提交代码的技巧
公司内部SVN地址是:Ip形式的,192.168.1.126
外网SVN地址是:域名形式的,如miaozhen.com

在外网提交代码的技巧是,配置host,让miaozhen.com解析到,192.168.1.126。
这样,SVN提交代码的地址就不用切换了。

我是听1个同事说的,还没有尝试过哦。


146.做网站时,顶层菜单一般是一致的。
最开始学习时,使用的是<jsp:include page="header.jsp"/>
后来,使用了Sitemesh。

我的理解是在每一个页面,手动使用jsp:include导入菜单,
而Sitemesh是动态拦截每个需要的页面,导入菜单。

除了导入菜单,也可以在<head></head>中导入js、css等。

147.表名大小写
Windows下MySQL表名不区分大小写的。
Linux下MySQL表明是区分大小写的。

(根本原因应该是WIndows操作系统的文件名不区分大小写,Linux文件名区分。)

148.Tomcat部署的项目访问路径
项目名:FansUnion
Eclipse工程中的文件夹 Servers->Tomcat4FansUnion at localhost-config->Server.xml中有如下配置,
<Context docBase="CMS1.0" path="/FansUnion" reloadable="true" source="org.eclipse.jst.jee.server:FansUnion"/></Host>

访问路径为:http://localhost:8080/FansUnion

如果把path改为"/",则访问路径变为:http://localhost:8080/

(FansUnion项目部署在Webapps/FansUnion或类似的目录下,并非在webapps/ROOT目录下)


修改path的另外一种方式是:选中项目名-右键-Properties-Web Project Settings,修改Context Root的值,
“/”或者"/FansUnion"等。

(记得要手动清除已经部署的项目,以免出现问题。)


访问路径,不带项目名称的另外一种方式是,把项目部署到Tomcat-webapps-ROOT目录下。

149.导入css、js等经常遇到路径问题,找不到。
一种解决方案是 使用Spring等框架的标签,如
<script src="<s:url value='/js/tabColor.js'/>" type="text/javascript"> </script>

我觉得这种办法之所以有效,是因为使用了绝对路径,而非相对路径。

150.Maven工程,JUnit单元测试时的classpath问题。
Maven项目结构
src/main/java
src/main/resource

src/test/java
src/test/resouce

src/test/java 文件夹下的程序指定classpath,首先在src/test/java和src/test/resouce下寻找资源文件,
如果没有找到,再去src/main/java和src/main/resource下寻找资源文件。

而src/main/java下的程序指定classpath,只会去src/main/java和src/main/resource下寻找资源文件。

即main和test下的classpath,所包含的路径是不同的。

如果运行test下的单元测试程序,同时src/test/resouce和src/main/resource都有 配置文件,
同名的话,就会以src/main/resource 下的资源文件优先,存在覆盖问题。

151.jsp页面之间传递参数,也可以使用el表达式获得。
 http://localhost:8080?age=24
 ${param.age}显示 24
 
152.Sitemesh

<decorators defaultdir="/decorators">
    <!-- 不需要过滤的页面 -->
    <excludes>
        <pattern>/views/login.jsp</pattern>
        <pattern>/views/addCampaign.jsp</pattern>
        
    </excludes>

    <decorator name="main" page="main.jsp">
        <pattern>/*</pattern>
    </decorator>

</decorators>

http://localhost:8080/views/addCampaign.jsp?id=1仍然会被Sitemesh过滤掉。

需要使用下面这样的配置,在末尾增加通配符*
<pattern>/views/addCampaign.jsp*</pattern>

153.今天需要给textarea限制字数,发现不能像text那样直接使用属性maxlength="4"。
只能单独写js了。


154.JQuery日历(DatePicker)等UI组件比较灵活。

日历组件可以设置,日期的格式、是否显示第几周,也可以支持汉化(需要引入中文js)。

155.今天在360doc上看到了1篇文章,想复制一个词语,结果提示不让复制。操蛋啊!


在网上找到了3个方法:http://hi.baidu.com/sxdbupt/item/49224412dfd932031894ece1

这里只记载1个最有价值的方法吧。

破解方法一:在需要复制的页面处,在地址栏输入如下代码
javascript:document.body.οncοpy=null;void(0);

(根源:直接看 360doc的那些javascript,以为有什么高级的函数,费了近15分钟,最后绕回原点,
唉。原来还是直接使用了 document.body.oncopy,浪费了15分钟,三下五除二,搞定。)

156.jquery ui datepicker 插件如何设置只能选择日期?而禁止输入日期?
貌似没这种设置,直接给input框加readonly="readonly" 就行了。

参考资料:http://baike.1688.com/doc/view-d25607286.html

157.保存表单的时候,需要验证某个字段的重名。
$.post("<s:url value='/nameIsExist'/>", {
                    name : name
                }, function(data) {//data(true or false)
                    if(data){
                        alert("The  name  exist.");
                        return false;
                    }else{
                      #ELSE
                    }
                });
    //下面是保存表单的代码
    saveForm();

特别说明:上面的写法是不对的。
    
    $.post是异步的,发送1个请求后,就开始执行saveForm了。无论名字是否存在,都会去保存表单。
    
    应该在上面的 #ELSE 地方写 saveForm();
    
    或者使用下面的方法,把ajax方法的参数async设为false。
    ($.post没有async这个参数)
    
    /*
            增加品牌不再验证是否重名
            var exist = false;
            $.ajax("isBrandExist", {
                type:"post",
                data:"brandName="+brandName,
                async:false,
                success:function(data) {
                    if (data) {
                        alert("品牌已存在!");
                        exist = true;
                    }
                }
                
            });
            
            if(exist){
                return false;
            } */
        
    总之,有2种方法。

158.Java和JavaScript等不同语言的语法和类库问题。

Java中的String有startWith("fans");
而JS中的String没有这个方法。charAt,substring等方法实现。

159.MySQL中的Replace into。
遇到1个功能,同步其它系统的用户列表,用户的id作为主键。
如果通过java代码来实现,应该是先删除所有的数据,再插入数据。
先删除的目的就是为了防止,出现重复的主键id。
(特别说明:同步过来的user,含有id,这个id作为主键)
另外一种方法是,使用MySQL中的Replace into。
replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中。
1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。
2. 否则,直接插入新数据。
 
要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。


参考资料:http://blog.csdn.net/sahusoft/article/details/4446877

160.Mybatis中的批量插入。
同步用户,量比较大。
如果是使用单条循环插入的话会对数据库造成很大的负荷状态,数据库的连接资源是有限的,循环插入的时候会直接的影响其它的数据库操作。

参考资料:http://hekuilove.iteye.com/blog/1470895

159和160参考代码

<insert id="addList" parameterType="java.util.List"
        useGeneratedKeys="true" keyProperty="id">
        insert into
        Organization(id,nativeName,englishName,aliasName,orgTypeId,status)
            values
        <foreach collection="list" item="organization" index="index"
            separator=",">
        (#{organization.id},#{organization.nativeName},#{organization.englishName},#{organization.aliasName},#{organization.orgTypeId},#{organization.status})
        </foreach>
    </insert>
    
    不能这样写(我为什么要这样写呢?我想的是insert into values(),()这种写法只能在mysql中用,不能跨数据库)
    <insert id="addList" parameterType="java.util.List"
        useGeneratedKeys="true" keyProperty="id">
        
        <foreach collection="list" item="organization" index="index"
            separator=" ">
        insert into
        Organization(id,nativeName,englishName,aliasName,orgTypeId,status)
            values
            (#{organization.id},#{organization.nativeName},#{organization.englishName},#{organization.aliasName},#{organization.orgTypeId},#{organization.status})
        </foreach>
    </insert>

 

相关阅读

工作问题 http://blog.csdn.net/FansUnion/article/category/1334371

原文参见:  http://fansunion.cn/articles/2241

转载于:https://my.oschina.net/jiutianniao/blog/399767

相关文章:

  • What means the error-message 'java.lang.OutOfMemoryError: GC overhead limit exceeded' in Java?
  • 大家好
  • getBoundingClientRect() 来获取页面元素的位置
  • 索引(二)
  • 《优秀网页设计速查与赏析》464
  • 分享Silverlight/WPF/Windows Phone一周学习导读(05月16日-05月21日)
  • 2015 UESTC 数据结构专题D题 秋实大哥与战争 SET的妙用
  • Sass和Compass入门
  • Operations Manager 2007 R2系列之域控客户端代理安装
  • C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母
  • 控件基本属性Padding, Margins, Align...
  • IBM Tivoli Management Framework默认设置漏洞
  • 在 Java SE 6 中监视和诊断性能问题
  • WinCE6.0流驱动开发的两种方法及驱动加载失败问题解决
  • android 深入研究ratingbar自定义
  • 【剑指offer】让抽象问题具体化
  • Debian下无root权限使用Python访问Oracle
  • Hibernate【inverse和cascade属性】知识要点
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • PV统计优化设计
  • Python socket服务器端、客户端传送信息
  • Python 反序列化安全问题(二)
  • vue脚手架vue-cli
  • windows下使用nginx调试简介
  • zookeeper系列(七)实战分布式命名服务
  • 从0到1:PostCSS 插件开发最佳实践
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 开源地图数据可视化库——mapnik
  • 前端存储 - localStorage
  • 前端临床手札——文件上传
  • 区块链分支循环
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 网络应用优化——时延与带宽
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 容器镜像
  • ​Spring Boot 分片上传文件
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #Ubuntu(修改root信息)
  • $jQuery 重写Alert样式方法
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (145)光线追踪距离场柔和阴影
  • (pojstep1.3.1)1017(构造法模拟)
  • (二)hibernate配置管理
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [383] 赎金信 js