Servlet是Java Servlet的简称,称之为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。从狭义上讲Servlet是Java语言实现的一个接口,从广义上讲Servlet是指任何实现了这个Servlet接口的类。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。Servlet运行于支持Java的应用服务器中。
Servlet的作用
在servlet刚刚出现的时候servlet的作用十分复杂,既承担着处理数据的作用,又承担着展示页面的作用,美工人员想要参与开发,基本上是不太现实的。
后来出现了MVC思想,也就是模型-界面-控制器思想,极大的简便了开发,也明确了servlet的作用。
Servlet的生命周期
1正常情况下在访问时创建,而且只创建一次一直存在与服务器内存中,直到服务器停止才会被释放,但是每一次请求都会产生request和response。
2通过在web.xml中配置1就会随着服务器的启动而创建。注:加载时创建servlet(一般不会这样用的,加载框架文件时就是这样用的,可以用在系统需要初始化数据。)
Servlet创建的时候会调用init方法,结束时会调destroy方法
Servlet的开发流程:
1.编写一个java类,继承HttpServlet类
2.重写HttpServlet类的doGet方法和doPost方法
3.配置web.xml文件,或者使用注解对servlet进行配置
4.访问servlet;
对servlet进行配置:使用web.xml文件配置。
注意:servlet的配置内容要写在webapp内部
JAVA Web Servlet开发流程图
1.View就是页面的开发。页面分为静态页面和动态页面。用于页面的编写语言有:HTML、DIV+CSS、JS/Ajax、Jquery、Jsp。 流行的页面框架有:Freemarker、velocity等等。
2.Servlet Interface:它的作用是处理从View页面提交过来的请求,并进行处理,然后将请求发送到WEB服务器,最后将服务器的响应回送到浏览器。每个Servlet必须实现javax.servlet.Servlet接口,而Servlet API提供了一个javax.servlet.HttpServlet类,作为这个接口的一般实现。所以代码中只要ExtendsHttpServlet就可以了。
一、View页面提交方式有:
A:通过form表单提交
B:通过window.location.href="ServletController.do?id=9"提交
C:通过浏览器的地址栏直接输入地址提交
二、Servlet获取View页面提交过来的数据方式有:
D:Request.getParameter(name);
E:Request.getAttribute(name);
F:Session.getAttribute(name);
3.ControlServlet extends HttpServlet:HttpServlet是接口Servlet的一般实现,所以ControServlet只要继承HttpServlet就可以了。ControlServlet获取页面传过来的数据后,调用相对应的Services进行处理。处理结束后通过response对象把服务器的响应回送到View页面。ControlServlet跳转到View页面或其他的ControlServlet的方式有:
一:response.sendRedirect(url):重新定位,另一个请求,URL会发生变化。可以跨WEB应用程序和服务器重新定位资源来处理请求。
二:response.forward(url):同一个请求,URL不会变化。隐藏了处理对象的变化。只能在同一个WEB应用程序内部转发。
三:request.getRequestDispatcher(url).forword(request,response):forward方法调用后再响应的内容被自动消除。
四:request.getRequestDispatcher(url).include(request,response):include方法调用后再响应的内容被自动消除。
4.Services:业务逻辑处理的服务类。ControlServlet获取数据后,调用相应的Services来处理业务逻辑。Services调用DAO-interface的实现来执行相对应的数据库操作,比如:查询,删除,修改,新增,执行视图,执行存储过程,创建表结构,删除表结构、修改表结构。Services执行过程中得编写相应的Exception,以便能获取相应的提示信息。
5.DAO-Interface:DAO是Data Access Object数据访问接口,数据访问:作为一个数据访问接口层,它主要的作用隐藏数据访问的具体代码,以提高系统的安全性和便利性。作为业务逻辑层的Services不管具体的数据访问代码,它只管调用指定的接口方法。
6.DAO-Implement:数据访问的具体实现类,里面执行对数据库的操作。
7.DataBase:数据库。