问题汇总

1、ajax缓存:当再次请求同一url时,浏览器会直接取出缓存里的内容返回,而不向服务器端发送请求.这只有在提交方式使用get时才会发生,解决方法是在url后面加上一个参数来告诉浏览器这是一个新的请求,通常可以用new Date()来生成时间戳.而post方式提交每次都会向服务器发送请求,不要考虑缓存.

2、String类型的对象都实现了Compareable接口的compareTo()方法,可以用此方法比较字符串。

3、struts的启动流程

假设现在在有以下情景:用户正在浏览一个用STRUTS的技术构建的网站主页,主页上有个登陆表单,用户填好登陆名和密码,单击“登陆”按钮,就激活了以下一系列过程:
(1)用户的请求以HTTP方式传输到服务器上,接受请求的是ActionServlet.
(2)ActionServlet接收到请求后,会查找Struts-config.xml文件来确定服务器上是否有用户请求的操作,此处用户请求操作应为登陆操作。如果没有,则返回一个用户请求无效的出错信息。
(3)当ActionServlet请求找到用户请求的Action后,首先将用户输入的表单参数打包成一个ActionFrom对象,这个ActionFrom对象其实也就是一个JavaBean,里面包含两个字段,分别是用户名和密码。接着ActionServlet再根据struts-config.xml中的配置信息决定是否要执行ActionFrom对象中的Validate方法。若Validate方法执行有错,则返回。否则,继续下一步。
(4)系统生成一个用户所请求的Action的实例对象,将前面的ActionFrom对象传递给它,运行它的Execute()方法。这一步其实就是用户登陆的控制器,在执行exectue()方法时,可以调用后台模型验证登陆名和密码是否正确等信息。
(5)execute()执行结束前会生成以和ActionForward类型的对象并将之返回给ActionServlet,该对象的作用是告诉ActionFroward就代表跳转到一个登陆成功的页面。ActionServlet将对之进行分析,其实就相当于接收到一个新的请求,重复(2)~(5)的过程,直到将某个界面返会给用户为止!
以上就是STRUTS的基本工作流程。
4、抽象类的作用是啥?接口的作用是啥?什么时候用抽象类?什么时候用接口?
     抽象类的作用是定义模版操作,而接口是定义一系列的标准。

   我觉得接口应该优于抽象类,主要的原因是:
   1.可以实现多个接口,但是只能继承一个抽象类
   2.现有的类很容易被更新,需要做的只是实现新的接口,而且是安全的
   3.我感觉继承不是很好,因为继承使得子类依赖于父类,父类的变化会影响到子类

 

   我感觉我们应该用下面的方式来使用接口和抽象类:
   优先使用接口,如果我们确实是需要提供一些默认的实现来增强我们的接口,
   那么我们可以用抽象类来实现接口,在这个抽象类里实现我们想增强的方法,
   以提供默认的一些功能。

你可能感兴趣的:(xml,工作,Ajax,浏览器,struts)