JSP和Servlet面试

来源:互联网 发布:诺思星被淘宝大学开除 编辑:程序博客网 时间:2024/05/17 23:13

面试百试不爽的问题!

Servlet和jsp的区别

总的来说:JSP在第一次访问会变成Servlet然后被编译成class文件,然后被执行

1.Jsp当成是View层 Servlet用来做Controller

2.Servlet在Java代码中通过HttpServletResponse对象动态输出HTML内容
JSP在静态HTML内容中嵌入Java代码,Java代码被动态执行后生成HTML内容

3.Servlet能够很好地组织业务逻辑代码,但是在Java源文件中通过字符串拼接的方式生成动态HTML内容会导致代码维护困难、可读性差

JSP虽然规避了Servlet在生成HTML内容方面的劣势,但是在HTML中混入大量、复杂的业务逻辑同样也是不可取的

4.Servlet是被Context的类加载器加载的,所以重写Servlet需要重新部署Context,JSP有自己的加载器
JspCompilationContext

5.JSP封装了大量Servlet中的对象,例如Request,ServletContext,Session等,使用起来极其方便

JSP是 可视化文件,Servlet会被编译成class文件,前者可以拿任何一个编辑器修改,后者不行

扬长避短,让它们发挥各自的优势 即MVC架构

转发和重定向

1:转发是客户端不关心服务端具体做了什么,你只要给我返回就行了。所以url不变

2:重定向是客户端知道自己总共要访问两次,那就继续访问算了,所以url变化了。

因为转发和重定向的url是否变化,及访问次数,会涉及到使用地点。

原创粉丝点击