zoukankan      html  css  js  c++  java
  • FT项目开发技术点(四)

    1.jsp页面form传递过来的值是在后台ishi通过name获得的而非ID。上传文字要用input type=text属性

    <tr>
    <th>品牌:</th>
    <td><input class="common-text" name="productBrand" size="50" value="比如:耐克" type="text"></td>
    </tr>

    2.form上传图片等,要用input  type=file类型

    <tr>
    <th><i class="require-red">*</i>详细页大图4:</th>
    <td><input name="detailBig4img" id="" type="file"><!--<input type="submit" onclick="submitForm('/jscss/admin/design/upload')" value="上传图片"/>--></td>
    </tr>

    3.form上传的input标签中有value属性,它可以指定上传内容的默认值。

    如上传文字:<input class="common-text" name="productBrand" size="50" value="比如:耐克" type="text">

    默认值就是比如:耐克

    4.spring,springmvc mybatis等配置文件在断网情况下,是不能读取的,因为配置文件中的dtd约束是网络上获取的。

    所以会导致项目启动失败,不能正确启动

    如spring的配置文件dtd约束xmlns="http://www.springframework.org/schema/beans"。

     5.spring中配置个每个ioc bean,都是要有实现类的,废话,否则怎么相当于new 一个对象。ioc用的class名称反射创建类实例的。

    配置bean 的class属性

    <bean id="countIPDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  

    6.运用myabatis自动实现mapper dao层实现类时,记得要在spring中将这些实现类mapper注入到ioc中。这样你才能在项目中用这些dao实现类啊

    要记住这些dao实现类的class属性是固定的,都是org.mybatis.spring.mapper.MapperFactoryBean

    并要向其中注入sqlsessionFactory属性

    <bean id="countIPDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
    <property name="mapperInterface" value="com.dao.countIPI"></property>
    <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
    </bean>

    7.web开发这个流程是固定的

    controller注入service,service注入dao的实现类。

    这个是确定的,流程就这样。

    唯一要注意的是保证dao的实现类线程安全问题,即sqlsession(jdbc connection)的线程安全问题。保证dao的每个方法里,都是线程独立的sqlsession.

    不过这些框架基本都会为你配置好,比如jdbcTemplate,jdbcDaoSupport类等。

    其实现思路也基本都一样,sqlSessionFactory是线程安全的,注入到每个dao实现类这个sqlSessionFactory bean。然后在dao的每个实现类中,调用sqlSessionFactory.getConnection()方法获得一个新的connection。

    因为sqlSessionFactoory是线程安全的,sqlsession不是线程安全的。

    只要保证了dao实现类是线程安全的,也就能保证service是线程安全的。进而能保证controller都是线程安全的,这一系列都是线程安全的,

    关键在于保证dao实现是线程安全的。

    8.sqlSessionFactory,中获得connection。connection是从数据库连接池中获得的,数据库连接池有启动多少个connection的配置。

    所以,多线程访问,即便,最多也只能支持数据库连接池的connection连接数量访问而已。因为上层调用的connection还是从数据库连接池中获得的。

    说白了,能支持多少人并发访问(动态网站),还是主要看connection连接池配置了多少,当然这是在没有用缓存的情况下。

    如果用了缓存,那并发量能更大,超过数据库连接池配置的数量。这个上限就看服务器cpu ,内存支持了

  • 相关阅读:
    高性能Javascript 选择器API学习笔记
    Backbone学习笔记二 Events
    递归用函数、存储过程实现的效果
    用触发器实现动态新增列
    局域网自动备份删除
    游标变量用法经典
    如何区分大小写字母、全角半角
    列的分拆显示
    2005的行列转换
    批量分离和附加数据库
  • 原文地址:https://www.cnblogs.com/panxuejun/p/5859948.html
Copyright © 2011-2022 走看看