DRP总结(一)

 

1.         需求分析:

l         分销库存管理业务流程

a) 本模块主要归结为库存管理。每个分销商都有一个期初库存。整个系统启用后,主要就是物料(药品)的出入库、库存调整过程。后者的操作步骤为:商务主管收集流向单(含出库、入库),数据录入员录入流向单数据,商务主管审核(如有数量差异,可以修改调整项数据),商务经理审核确认(如果有问题,驳回,正确的话就直接冲减库存)。

b) 另一条线是项目会计抽查流向单和系统中的数据是否吻合,对抽查过的单据添加抽查标记(如果有问题,会通过其他手段(如电话、邮件等)通知商务经理)。

c) 对分销商定期报上的库存数量(该数量应该是商务代表核实过的)与系统中数据对比,如果有差异,作调库处理。目的是使账面数量和分销商的实际库存一致。该调整由商务主管确认,只能调整当前库存。

 

 

2.       实体类,通常对应一个数据库表,实体类具有OID,OID与数据库中的主键对应

OID(为了在系统中能够找到所需对象,我们需要为每一个对象分配一个唯一的表示号。在关系数据库中我们称之为关键字,而在对象术语中,则叫做对象标识(Object   identifier-OID))

 

3.       职责划分重要性(管理类和实体类分离)

 

4.       单例模式

应用场景:没有可以修改的成员变量(即这个类没有状态),如果存在可修改的成员变量,将会产生线程安全问题,不建议使用单例模式。

l         饿汉式

public class ClientManager {

    private static ClientManager instance = new ClientManager();

   

    private ClientManager() {}

   

    public static ClientManager getInstance() {

       return instance;

}

l         懒汉式

public class ClientManager {

    private static ClientManager instance == null;

   

    private ClientManager() {}

   

    public static ClientManager getInstance() {

       if(instance == null) {

       instance = new ClientManager();

}     

return instance;

}

 

 

5.       PreparedStatement的优点

l         代码的可读性和可维护性提高

l         PreparedStatement尽最大可能提高性能(预编译缓存)

l         提高安全性

 

6.       javascriptwith的用法

           

       with (document.getElementById("userForm")) {

           method="post";

           action="user_add.jsp?command=add";

           submit();

       }           

7.       Ajax的用法

<script type=”text/javascript”>

var xmlHttp;

   

    function createXMLHttpRequest() {

       if(window.XMLHttpRequest) {

           xmlHttp = new XMLHttpRequest();

       } else if (window.ActiveXObject) {

           xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

       }

    }

   

    function validate() {

       createXMLHttpRequest();

       var userId = document.getElementById("userId");

       //var url = "user_validate.jsp?userId=" +userId.value;

       //注意如果在user_validate.jsp页面中,没有清除缓存的代码,此URL必须跟上时间戳,防止浏览器进行缓存

       //使用时间戳方式

       var url = "user_validate.jsp?userId=" + userId.value + "&timestampt=" + new Date().getTime();

       xmlHttp.open("GET", url, true);

       xmlHttp.onreadystatechange = callback;

       xmlHttp.send(null);

    }

 

    function callback() {

       if(xmlHttp.readyState == 4) {

           if(xmlHttp.status == 200) {

              var responseUserIdMsgDiv = document.getElementById("responseUserIdMsg");

              responseUserIdMsgDiv.innerHTML = "<font color='red'>" + xmlHttp.responseText + "</font>";

           }

       }

</script>

 

 

8.       html元素中nameid属性值,不能与javascript中的函数名称相同

 

9.       request.getParameterValuesrequest.getParameter的区别

request.getParameterValues(String   name)返回数组String[] ,checkbox(名字相同,但值有多个) 

request.getParameterString   name)返回String

 

10.     filter需要实现javax.servlet.Filter接口,并且需要在xml文件中进行配置

<filter>

<filter-name>CharsetEncodingFilter</filter-name>

<filter-class>com.bjsxt.drp.util.filter.CharsetEncodingFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>CharsetEncodingFilter</filter-name>

<url-pattern>*.jsp</url-pattern>

</filter-mapping>

 

11.  异常

a)       编程式异常(手动处理的异常)

b)      声明式异常(自动处理的异常)

 

 

12.    转发和重定向的区别

l         转发(只能在同一个web应用中使用,可以共享request范围内的数据)

l         重定向(可以重定向到任意URL,不能共享request范围内的数据)

 

13.     Session默认超时时间为30分钟,见TOMCAT_HOME/conf/web.xml文件,手动修改session超时时间,单位(分钟).

<session-config>

<session-timeout>60</session-timeout>

</session-config>

       编程方式设置 session.setMaxInactiveInterval(100);

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值