一,Servlet开发
用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求。服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应。浏览器收到回应,再把回应的内容显示出来。这种请求—响应模式就是典型的Web应用程序访问过程。
JavaWeb应用程序中所有的请求—响应都是由Servlet完成的。Servlet是JavaWeb的核心程序,所有的网址最终都交给Servlet处理。Servlet并没有main之类的执行方法。当用户访问服务器的时候,Tomcat是通过调用Servlet的某些方法来完成整个处理过程的。
Servlet是什么
一个Servlet程序就是一个实现了特殊接口的Java类,它由支持Servlet的Web服务器调用和启动运行。一个Servlet程序负责处理它所对应的一个或一组URL地址的访问请求,并接收客户端发出的访问请求信息和产生响应内容。
Servlet程序可以完成普通Java程序所能完成的大多数任务:,
1,获取客户端通过HTML的FORM表单提交的数据和URL后面的参数信息
2,创建对客户端的响应信息内容,
3,访问服务器端的文件系统
4,连接数据库并开发基于数据库的应用,
5,调用其它的Java类
Servlet工作流程
浏览器提交的请求是遵循HTTP协议的文本。这段文本由服务器也就是Tomcat接收并解析,封装成了HttpServletRequest类型的request对象。所有的HTTP头数据都可以通过request相应的方法查询到。Tomcat同时把输出流封装成为HttpServletResponse类型的response对象,通过设置response对象可以控制输出的内容。在请求—响应的这个过程中,Tomcat把request对象、response对象作为参数,调用Servlet的相应方法,例如doPost(request,response)、doGet(request,response)等。
Servlet接口
Servlet是一种实现了javax.servlet.Servlet接口的类。Servlet接口规定了特定的方法来处理特定的请求。Servlet规范是建立在HTTP规范基础上的。HTTP 1.1 规范支持OPTIONS、GET、POST、HEAD、PUT、DELETE、TRACE等7中访问方式,其中最常用的就是GET和POST了。
GET:表示查询信息,URL中可以附带少量的参数信息,但是URL总长度不能超过255个字符,并且参数会显示在浏览器地址栏。
POST:表示提交信息,一般用于提交大数据信息或者文件,提交的内容不受长度限制,并且不会显示在浏览器地址栏中。
Servlet工作流程
利用Servlet完成的Web应用的实际工作流程是通过Tomcat服务器发布服务,客户端与服务器端之间的交互遵循Http协议完成的。具体工作流程如下:
客户端浏览器向服务器端发送请求。
1,服务器端由Tomcat服务器提供的Servlet容器解析接收到的请求。
2,通过Web应用程序的配置文件web.xml,解析到对应执行的Servlet。
3,Servlet完成客户端发送的请求逻辑,并完成向客户端发送的响应内容。
4,由Tomcat服务器提供的Servlet容器向客户端浏览器进行响应。
一,Java Web应用设计模式:
1)采用JSP+JavaBean的技术
JSP独自响应请求并发送处理结果给用户,数据通过JavaBean来处理,是JSP技术发展初期经常采用模式1,适用于一些小型开发项目。
2)采用JSP+JavaBean+Servlet技术(MVC模型)
MVC(Model-View-Controller)模型,适用于中型以上开发项目
“模型-视图-控制器”关系图:
MVC构架设计图:
二,Servlet中的请求转发机制
Web应用中,常由Servlet来充当调度员的角色,把这样的Servlet叫控制器,可以将请求转发给另一个Servlet或JSP页面,由它们对请求作进一步处理,并产生对请求的响应。Servlet中实现请求转发方式:
1)共享一个request:request.getRequestDispacher(“xxx.jsp/xxxservlet”).forword(requet,response);
2)重定向:
Request.sendRedict(“xxx.jsp/xxxservlet””);
三,运用MVC模式开发WEB应用的步骤
1)定义bean来表示数据和封装业务逻辑
a)定义数据Bean来表示需要显示给用户的结果
b)定义业务Bean来封装业务逻辑,BeanDao.
2)使用Servlet处理用户请求
a)根据用户请求,将数据的处理结果写入bean,并将其存于请求或会话的上下文中
b)通过请求转发的形式,将请求转发到合适的页面,servlet不需要创建任何输出,输出由JSP页面完成
2)JSP页面输出结果: 从bean中获取数据输出
总之:
① JSP作界面
② Servlet接受用户请求,并作初步处理,然后将请求进行转发
③业务处理借助Bean