在MVC模式中,M,V,C分别表示什么,在实际的开发过程中,这三者一般分别采用哪些技术实现?Struts是什么?Struts和MVC有关系吗? Struts1.1相对于Struts1.0,你觉得最大的改善是什么?M :module
V:view
C:controlM:模块,一般用商业逻辑来实现。
C:控制,一般为servlet
V: 视图,一般用JSP asp....struts的实现机理就是MVC
V:view
C:controlM:模块,一般用商业逻辑来实现。
C:控制,一般为servlet
V: 视图,一般用JSP asp....struts的实现机理就是MVC
J2EE(Java 2 Enterprise Edition)Java2 企业版,它提供了分布式企业应用程序的解决方案。EJB、JDBC等都是J2EE规范下的一部分。EJB是J2EE技术的核心技术,RMI是其基础。组成包括(Session Bean、Entity Bean、Message Driven Bean)JDBC是规定了数据库连接、访问的规范。
少if语句的作用域,可能会产生Null Pointer Exception!第三题:
太变态了,我认为没有什么考的必要!!!第四题:
方法一:使用序列(Sequence)
方法二:Java数据库访问编码时生成ID编码。第五题:
也没有必要成为考题!!第六题:
太大了。google一下吧
A答案的意思是"is a kind of"B答案的意思是"implementation"
1) String ss1 = session.getAttrbute(“login_id”).toString();
2) if (ss1.equals(“”))
3) out.println(“对不起,没有授权”);
4) int login_id = Integer.parseInt(ss1);
5) String admin_name = ss1.substring(0,28); 我觉的有两个地方有异常啊,(4)(5) 都会有,(4)是当ssl不是数字字符串,(5)是ssl的长度也许不超过28 我就知道两个! (2) ssl 我觉得应该是 null 而不是
这句也可能有异常,如ss1=null时候就有
这句当然也有可能引起异常...
对像到关系数据库的数据映射,数据持久。::
JDO是SUN的标准,但过于复杂,还要有预编译,有很多坏处
Hibernate 与EJB :hibernate为轻量级的数据持久框架,而EJB是重量级的。现在EJB3.0也在按照Hibernate的实现思想来实现。
目前Hibernate非常受欢迎,它是开发源代码的Java O/R映射框架,目的是把开发人员从繁琐的数据持久化编程中解脱出来。它也有一个标准的HQL(Hibernate 查询语言)语言,你可以在新的EJB QL中看到它的影子。Hibernate在处理如数据查询、更新、连接池、事务处理、实体关系处理等方面非常简单。
其实他们三个本质都是一个东东,最主要的解决了数据映射二、 找出下面程序中可能引起异常的代码行,并说明原因。
1) String ss1 = session.getAttrbute(“login_id”).toString();
2) if (ss1.equals(“”))
3) out.println(“对不起,没有授权”);
4) int login_id = Integer.parseInt(ss1);
5) String admin_name = ss1.substring(0,28);第四句会有异常代码
三、 JAVASCRIPT
1、 检查身份证号码正确性
1) 长度 15 或18位
2) 前14位一般为数字末位可以为字母
2、 身份证号码中带有出生日期,请编写取出出生日期的函数,格式为 YYYY-MM-DD。身份证的正则表太式:var idCard=“(([0-9]{17}([0-9]{1}|\w{1}))|([0-9]{14}([0-9]{1}|\w{1})))";
if (!patrn.exec(idCard)) return false
return true
或
if (pattern.test(email)) return true;
var idCard='得到年月日字符串[0-9]{4}-[0-9]{2}-[0-9]{2}
var obj = eval(pObj);
strRef = "1234567890";
if(!isEmpty(pObj,errMsg))return false;
for (i=0;i<obj.value.length;i++) {
tempChar= obj.value.substring(i,i+1);
if (strRef.indexOf(tempChar,0)==-1) {
if(obj.type=="text")
obj.focus();
return false;
}
}
return true;
}function form_submit(theform){
if (theform.IdCard.length == 15 || theform.IdCard.length == 18){
if(!isNumber(theform.IdCard.subString(0,14))){
alert("数据不符合要求,请检查");
}
}else{
alert('Sorry!请输入正确长度');return false;
}
}function getBoth(){
//shit,我的出生日期是身份证的第6位到13位,太阳了,这么变态!!!
//你就截取就可以了!!!
}
<!--
var pattern=/^(\d{6})(\d{8})(\d{3})?\w$/;
//18位身份证号码
var str="250322197709283216";
if (pattern.test(str)) {
alert("身份证号码正确!!");
var tempstr = str.match(pattern)[2];
var birthstr = tempstr.substring(0,4).concat("-")+tempstr.substring(4,6).concat("-")+tempstr.substring(6,8);
alert("出生日期为:"+birthstr)
} else alert("身份证号码错误!!");
//-->
</SCRIPT>
1) String ss1 = session.getAttrbute(“login_id”).toString();
2) if (ss1.equals(“”))
3) out.println(“对不起,没有授权”);
4) int login_id = Integer.parseInt(ss1);
5) String admin_name = ss1.substring(0,28);有异常:第一句,第二句,第四句,第五句。
1)因为session.getAttrbute(“login_id”)可能为null
可改为:session.getAttrbute(“login_id”)==null?null:session.getAttrbute(“login_id”).toString();
2)if (ss1.equals(“”))因为如果ss1为空也会抛出异常
4)int login_id = Integer.parseInt(ss1);这个异常就不用说了吧!
5)String admin_name = ss1.substring(0,28);这个异常可能多种,可能ss1为空,可能不够长!
如果session.getAttrbute(“login_id”)==null,则null异常
2) if (ss1.equals(“”))
如果到了此地ss1应该不会null,此处还行。
3) out.println(“对不起,没有授权”);
到了页面可能有编码问题
4) int login_id = Integer.parseInt(ss1);
Integer.parseInt()是可能抛异常得。看看javadoc就知道了
5) String admin_name = ss1.substring(0,28);
数组越界异常
function isNumber(pObj){
var obj = eval(pObj);
strRef = "1234567890";
if(!isEmpty(pObj,errMsg))return false;
for (i=0;i<obj.value.length;i++) {
tempChar= obj.value.substring(i,i+1);
if (strRef.indexOf(tempChar,0)==-1) {
if(obj.type=="text")
obj.focus();
return false;
}
}
return true;
}function form_submit(theform){
if (theform.IdCard.length == 15 || theform.IdCard.length == 18){
if(!isNumber(theform.IdCard.subString(0,14))){
alert("数据不符合要求,请检查");
}
}else{
alert('Sorry!请输入正确长度');return false;
}
}function getBoth(){}
对于不对与不足的答案补充一下:
2。D E
四。
1。可以用递增序列
2。可以用一个额外的表保存这个表中最大的id,当这个表中插入记录的时候用触发器往那个id加一
3。插入的时候id用MAX(id)得到
三个方法效率不同后面几个内容太多,自己发挥吧(搜索一下)