J2EE面试

Tomcat的优化经验:去掉对web.xml的监视,把jsp提前编辑成Servlet有富余物理内存的情况,加大tomcat使用的jvm的内存

1. get是从服务器上获取数据,post是向服务器传送数据。
2. get
是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

3. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

4. get传送的数据量较小,不能大于2KBpost传送的数据量较大,一般被默认为不受限制。

Servlet的生命周期:包括加载和实例化、初始化、处理请求以及服务结束,init(),service(),destroy(),

Jsp页面中的FORM标签里的method属性为get时调用doGet(),为post时调用doPost()

JSP内置对象:

request 用户端请求,此请求会包含来自GET/POST请求的参数

response 网页传回用户端的回应

pageContext 网页的属性是在这里管理

session 与请求有关的会话期

application servlet 正在执行的内容

out 用来传送回应的输出

config servlet的构架部件

page JSP网页本身

exception 针对错误网页,未捕捉的例外

动态INCLUDEjsp:include动作实现

<jsp:includepage=included.jsp flush=true />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数静态INCLUDEinclude伪码实现,定不会检查所含文件的变化,适用于包含静态页面 <%@ include file=included.htm %> 

页面之间传递参数的方法:requestsessionapplicationcookie

提高数据库性能:

PreparedStatement一般来说比Statement性能高;有外键约束会影响插入和删除性能,如果程序能够保证数据的完整性,那在设计数据库时就去掉外键。表中适当冗余减少查询次数。SQL语句全部大写。根据缓冲特点,使用?和preparedStatement会进行对SQL的预编译,如果多次访问的话,会提高查询速度。还有索引对查询性能的改进。

mysql帮助文档子查询章节的最后部分,例如,根据扫描的原理,下面的子查询语句要比第二条关联查询的效率高:

1.  select e.name,e.salary wheree.managerid=(select id from employee where name='zxx');

2.   select e.name,e.salary,m.name,m.salary fromemployees e,employees m wheree.managerid = m.id and m.name='zxx';


DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问。


XML用途:1、数据存储2、配置信息


import java.io.*;

importjava.util.Hashtable;

importorg.xml.sax.*;

public classSAXHandler extends HandlerBase

{

private Hashtabletable = new Hashtable();

private StringcurrentElement = null;

private StringcurrentValue = null;

public voidsetTable(Hashtable table)

{

this.table = table;

}

public HashtablegetTable()

{

return table;

}

public voidstartElement(String tag, AttributeList attrs)

throws SAXException

{

currentElement = tag;

}

public voidcharacters(char[] ch, int start, int length)

throws SAXException

{

currentValue = newString(ch, start, length);

}

public voidendElement(String name) throws SAXException

{

if(currentElement.equals(name))

table.put(currentElement,currentValue);

}

 


File file = newFile(c:\people.xml);

FileReader reader =new FileReader(file);

Parser parser;

SAXParserFactory spf= SAXParserFactory.newInstance();

SAXParser sp =spf.newSAXParser(); 

SAXHandler handler =new SAXHandler();

sp.parse(newInputSource(reader), handler);

Hashtable hashTable =handler.getTable(); 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值