爱信诺面试总结
爱信诺航天信息有限公司,主要使用JavaMVC框架。
问题:
1.Struts2处理来自多个页面的同一个Action请求,那么它们是不是同一个action。
struts2中每个请求都是独立的。每一次请求都会去new一个新的action,所有写在action中的变量是不会出现并发的错误。
2.action如何接受参数。
Struts2中Action接收参数的方法主要有以下三种:
1).使用Action的属性接收参数:
a.定义:在Action类中定义属性,创建get和set方法;
b.接收:通过属性接收参数,如:userName;
c.发送:使用属性名传递参数,如:user1!add?userName=Magci;
2).使用DomainModel接收参数:
a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法;
b.接收:通过对象的属性接收参数,如:user.getUserName();
c.发送:使用对象的属性传递参数,如:user2!add?user.userName=MGC;
3).使用ModelDriven接收参数:
a.定义:Action实现ModelDriven泛型接口,定义Model类的对象(必须new),通过getModel方法返回该对象;
b.接收:通过对象的属性接收参数,如:user.getUserName();
c.发送:直接使用属性名传递参数,如:user2!add?userName=MGC
3.说一下application,session,response的作用范围。
在一个页面范围内:page
在一次服务器请求范围内:request
在一次会话范围内:session
在一个应用服务器范围内:application
4.说一下pulibc,protected,private的作用
修饰符 类内部 同一个包 子类 任何地方
private Yes
default Yes Yes
Protected Yes Yes Yes
public Yes Yes Yes Yes
对于class的权限修饰符只可以用public和default
a.Public类可以在任意地方被访问
b.default类只可以被同一个包内部的类访问
c.protected类只可以被同一个包内部的类和子类访问
d.private类只可以被内部的类访问
5.说一下方法的重载与覆盖
重载:同一各类中,方法名相同,参数的列表或返回值不同,与返回类型无关!
覆盖:子类继承父类而且这是必须的。在子类里面重新定义这个方法。
重载与覆盖的区别
1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。
2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。
3、覆盖要求参数列表相同;重载要求参数列表不同。
4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。
6.MVC中的M表示什么意思
mvc全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。
Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
7.如何修改数据库中的字段内容,举例说明
修改:update 数据表 set 字段1=值1,字段2=值2 where id=接收到的ID参数
扩展一下:
增加:insert into 数据表(字段1,字段2,字段3) values(值1,值2,值3)
删除:delete from 数据表 where id=接收到的ID参数
查询:select 字段 from 数据表 where id = 接收到的ID参数