zoukankan      html  css  js  c++  java
  • 2015年创业中遇到的技术问题:41-50

     41.Bootstrap换行。
    col-md-10和col-md-2。
    这2个div按说应该在一行的,结果col-md-2换行了。
    看看样式,发现有多余的“margin-left: 1px;"。

    42.Service实现类定义了一个“自动调度进行刷新”的方法。
    @Override
    @Scheduled(cron = "0 0/10 * * * ? ")
    // 每10分钟一次
    public void refreshBannerPhoto() {
    bannerPhotoList = photoDao.find(searchBannerForm());
    }
    需要在接口类中,也定义一个方法。
     void refreshBannerPhoto();
     
    要不然可能出现以下错误。
    @Scheduled method 'refreshBannerPhoto' found on bean target class 'PhotoServiceImpl', 
    but not found in any interface(s) for bean JDK proxy. Either pull the method up to an interface 
    or switch to subclass (CGLIB) proxies by setting proxy-target-class/proxyTargetClass attribute to 'true'

    43.Nginx和Tomcat配置疑惑。

    需求:一个Tomcat下,部署2个项目。
    2个项目使用不同的域名访问。
    并且处于实际考虑,A项目必须部署在root下,从而解决图片等路径问题。
    在Java中,项目名称是个很烦人的东西。

    A项目
     server {
     37         listen 80;
     38         server_name fansunion.cn www.fansunion.cn blog.fansunion.cn;
     39       
     51        location / {
     52            proxy_pass   http://localhost:8080;
     53        }

    B项目
      server{
     76        listen 80;
     77        server_name soft.fansunion.cn;
     78        location / {
     79            proxy_pass http://localhost:8080/soft;
     80       }
     81
     82    }
     
     
     期望:访问 http://soft.fansunion.cn,访问http://localhost:8080/soft这个项目。
     
     结果:http://localhost:8080/soft,访问的是http://localhost:8080/根目录下的项目。
     
     
    折衷处理,绕过去,把soft项目部署到另外一个Tomcat的根目录下,这个Tomcat监听9080等不同的端口。

    问题:多一个Tomcat,多使用了100多M内存额。
     
     
    44.使用JSONP解决跨域问题。
    后端Java代码备份:
    // 对外提供的服务接口,演示用jsonp解决跨域问题
    // TODO jsoncallback是可选的,categoryid->categoryId
    @RequestMapping(value = "recentpost")
    public void recentPost(Integer categoryid, String jsoncallback,
    Integer count, Model model, HttpServletResponse response) {
    if (categoryid == null) {
    categoryid = DEFAULT_CATEGORY;
    }
    List<Post> list = postService.listRecent(categoryid, count);
    String str = JSONObject.toJSONString(list);
    str = jsoncallback + "(" + str + ")";
    super.returnMessage(response, str);
    }

    45.类型转换空指针异常。
       Integer ispage;
    if (ispage == 1){
    }
    ispage是null。
    这说明,Integer类型的ispage被转换成int,JDK内部转换时,报错。

    46.KindEditor获得html和text内容。

    方法一:editor.sync();
    $("#content).val();

    方法二:
    html格式内容,editor.html();
    文本格式内容,editor.text();

    47.ActiveMq的启动。
    启动ActiveMq
    cd /activemq/bin

    经常出现问题的启动方式: ./bin/activemq start
    更好的方式:使用bin目录下的linux-x86-64目录下的activemq启动
    ./bin/linux-x86-64/activemq start

    48.Spring注入属性的值到字段中。
    @Value("${loginCookieName}")
    private static final String loginCookieName = "cookieName";
    a.properties
    loginCookieName=abc

    49.权限漏洞。
    <mvc:interceptors>
    <mvc:interceptor>
    <mvc:mapping path="/**/*.html" />
    <mvc:mapping path="/**/*.json" />
    <mvc:exclude-mapping path="/login.html*"/>
    <bean class="com.p2p.backend.interceptors.BackendLoginInterceptor">
    <property name="loginUrl">
    <value>${backendLoginUrl}</value>
    </property>
    </bean>
    </mvc:interceptor>
    <mvc:interceptor>
    <mvc:mapping path="/**" />
    <bean class="com.p2p.base.interceptors.BackendPermissionInterceptor">
    </bean>
    </mvc:interceptor>
    </mvc:interceptors>

    重新看了下权限,发现有漏洞,我的火眼金睛不是瞎吹的。

    访问post.json,没有登录,没有权限,按说返回false。
    但是,post.json2,就绕过去了。

    另外一个原因是,SpringMVC的DispatchServlet拦截的是“/*”所有,而不是只拦截/*.html和/*.json。

    50.Freemarker的base问题。
    实际后端响应的是 http://login.jiutianniao.com/login

    静态资源的路径是:
    ${base}/static/

    通过Nginx代理之后,${base}是http://login.jiutianniao.com/login/static

    访问报错了。

    因为,通过Nginx访问的地址是http://login.jiutianniao.com/static

    这个地址映射到后端http://login.jiutianniao.com/login/static

    解决办法:base变量也做成可配置的。

    静态资源的路径是:
    ${userDomain}/static/

    String contextPath = request.getContextPath();
         model.put("base", contextPath);
    总结:${base}在没有代理的情况下,很好。
    有Nginx代理之后,目录访问会不正常。
  • 相关阅读:
    用AI思维给成本降温,腾讯WeTest兼容性测试直击底价!
    DOIS2019大会,腾讯 DevOps 测试中台探秘
    腾讯WeTest兼容服务再次升级,支持小程序兼容
    打造游戏金融小程序行业测试标准腾讯WeTest携各专家共探品质未来
    我对模板模式和策略模式的理解
    retrofit
    nginx--阿里云--success
    volatile--学习--未使用过
    linux---多线程---信号量--不懂
    sql优化---后面再看吧
  • 原文地址:https://www.cnblogs.com/qitian1/p/6462813.html
Copyright © 2011-2022 走看看