Servlet的优点:
1.是任何mvc框架的基础,其他的框架比如struts1,struts2,webwork都是从servlet基础上发展过来的。
2.Servlet是最底层的api,可以使程序员更了解mvc的各个特点。
3.程序员可以对servlet进行封装。Struts2就是从servlet中封装以后得到的结果。
4.Servlet提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。
5.Servlet能够直接和Web服务器交互,而普通的CGI程序不能。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。
6.可移植性好 ,Servlet用Java编写,Servlet API具有完善的标准。
7.servlet擅长操作的是业务逻辑和流程,考虑到代码的可读性的可维护性,符合了web开发的MVC设计模式。
Servlet的缺点:
1.每写一个servlet在web.xml中都要做相应的配置,导致web.xml内容过于繁多,不利于团队分组开发
2.在servlet中,doGet方法和doPost方法有HttpServletRequest和HttpServletResponse参数。在单元测试中必须初始化这两个参数。简而言之,就是servlet具有容器依赖性,必须在tomcat服务器中运行,不利于单元测试。
3.一个servlet中有很多个方法,则必须采用传递参数的形式,分解到每一个方法中。客户端提交参数到服务器,一律按String字符串类型接收,后期需要进行转换。
4.一个Servlet类负责处理的请求数量非常有限。
5.Servlet 没有图形界面,运行在服务器端。
6.Servlet是一个早期的不完善的产品,代码编写复杂.