一、Servlet介绍
Servlet简单的说就是一个Java程序,目的和Javabean差不多,为了使得JSP页面中代码简洁、清晰;
Servlet也是放在 WEB-INF/classes/中,并在web.xml中配置如下形式:
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
Servlet可以处理客户端传来的请求,即request,并且可以返回给客户端回应,即response,这个操作通过
public voidservice(HttpServletRequest req,HttpServletResponse resp)throws ServletExeption,IOException{}完成;
一般如果我们要自定义Servlet,则需要继承HttpServlet类,并覆盖相应的方法即可;
二、Servlet的结构
Servlet生命周期为:加载-->初始化--->服务--->销毁--->卸载;
继承HttpServlet后,可以覆写以下方法:
1.public void init()throws ServletException{} //初始化Servlet
2.public void init(ServletConfig config)throws ServletExeption{} //初始化Servlet,可以得到配置信息
3.public void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletExeption,IOException{} 当get方式传递,则调用此方法
4.public void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletExeption,IOException{}当post方法传递,则调用此方法
5.public voidservice(HttpServletRequest req,HttpServletResponse resp)throws ServletExeption,IOException{}
6.public void destroy(){} //销毁时调用
注意:
1. 当1,2同时出现时,2有较高优先级;
2.当3或4和5同时出现时,5具有较高优先级;
3 .PrintWriter writer = resp.getWriter();可以获得输出流;
三、Servlet常见问题
1.在init方法中,通过config.getInitParameter()方法取得配置信息;
2.通过req.getSession()取得Session对象,通过super.getServletContext();取得application对象;
四、Servlet跳转
1.客户端跳转:resp.sendRedirect("....");
2.服务器跳转:req.getRequestDispatcher("hello.jsp").forward(req,resp);能够跳转到hello.jsp中;
注意:
1.客户端跳转属性只能通过session传递,不能通过request传递;
五、MVC设计模式
在之前我们讲过JSP+JAVABEAN的DAO开发模式,这个适用于小型开发;
MVC(Model View Control)是一种以Servlet为核心的开发模式,流程如下:
步骤如下:
1.客户端发送请求给Servlet;
2.Servlet接收请求后处理,并可以调用JavaBean;
3.Servlet返回结果给JSP显示;
因此JSP只是用于显示,而JavaBean只和Servlet通信;
注意:在MVC中,使用requestDispatcher的机会很多,我们都是通过这个类进行服务器跳转的;
六、过滤器
实现javax.servlet.Filter接口;
一般客户端发出请求后会交给Servlet;如果过滤器存在,则客户端发出的请求都是先交给过滤器,然后交给Servlet;
我们可以完成一些在执行Servlet之前必须要做的事,比如request.setCharacterEncoding("GB2312");
必须实现以下方法:
1.public void init(FilterConfig config) throws ServletException{}
2.public void doFilter(ServletRequest req,ServletResponse resp,FilterChain chain){}
3.public void destroy(){}
注意:
1.init方法在Web容器初始化时就会调用;
2.doFilter的参数是ServletRequest和ServletResponse而不是Http的;
3.FilterChain含有public void doFilter(ServletRequest req,ServletResponse resp){}
4.一般代码形式如下:
public void doFilter(ServletRequest req,ServletResponse resp,FilterChain chain){
chain.doFilter(req,resp);//执行Servlet操作;
}
则这个函数会调用两次,一次是执行chain.doFilter之前,一次是执行chain.doFilter()之后;
写完过滤器后,我们必须要限制过滤器调用的范围,即域名为多少时会调用过滤器,我们在web.xml 中进行配置;
<filter>
<filter-name></filter-name>
<filter-class></filter-class>
</filter>
<filter-mapping>
<filter-name></filter-name>
<url-pattern></url-pattern><!--过滤器应用的范围,如果为/*,则如果域名设置形如/a 或/abc等都会调用过滤器-->
</filter-mapping>
分享到:
相关推荐
这是一个纯JavaWeb项目,采用MVC模式,即 模型(model)-视图(view)-控制器(controller),没有使用其他框架,采用的是纯servlet+jsp实现的一个简易选课JavaWeb项目,实现的功能如下:包括 **管理员 教师 学生** ...
JSP+javaBean+Servlet(MVC设计模式)品红网站项目 JSP+javaBean+Servlet(MVC设计模式)品红网站项目 JSP+javaBean+Servlet(MVC设计模式)品红网站项目
Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统 Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统 Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统
实验一 JSP+Servlet+Javabean+jdbc-基于MVC模式的数据库的应用 实验二 JSF+JPA实现用户注册 实验三 struts+spring+hibernate框架访问数据库的应用 实验四 使用WebService和EJBean访问数据库的应用
基于MVC开发模式开发原生Servlet+jdbc服务器项目-点餐系统.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计...
采用javaweb开发基础技术servlet ,jsp,mvc的设计模式开发的个人信息管理系统。
基于MVC设计模式构筑JSPServlet+EJB的Web应用
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业...原生javaWeb项目,使用MVC开发模式开发原生Servlet+jdbc服务器项目-点餐系统
该源码文件包"jsp+servlet+javaBean实现MVC_jspmvc.zip"是一...通过学习和实践这个源码文件包,学生不仅能够深入理解MVC设计模式,还能够提升自己在实际开发中运用Java Web技术的能力。问问助手:js编程小助手重新回答||
(基于MVC模式下web端的开发,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP+JavaBean模式程序各个模块之间层次清晰) 仅供初学者参考,内有文档注释,部分细节不懂者,留言即可
mvc设计模式的讲解与使用 常见WEB开发语言的MVC框架 jsp+servlet+javaBean实现MVC –流程 jsp+servlet+javaBean实现MVC –技术点 PHP与JAVA在MVC模式上的不同之处 MVC设计模式的优势 MVC设计模式的缺点 MVC结构提供...
基于JSP+Java+Servlet采用MVC模式开发的购物网站源码+项目说明.zip基于JSP+Java+Servlet采用MVC模式开发的购物网站源码+项目说明.zip基于JSP+Java+Servlet采用MVC模式开发的购物网站源码+项目说明.zip基于JSP...
Jsp+Servlet+JavaBean 实现MVC模式的留言本 声明:本留言本所有源代码开源,使用者可以自由修改和传播,但仅限于非商业用途。 作者:梁龙 博客:http://www.lianglong.net.cn 由于这是本人学习JAVA的第一个项目,...
实现技术:Servlet+MVC(模式)+Filter(过滤器)+html 主要功能:学生信息的增删查改,文件(图片)上传 难度:比较简单
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化...
该系统主要采用MVC(JSP+JavaBean+Servlet)模式开发,非常适合初学者了解并掌握MVC开发模式,具有如下主要功能: 1.用户登录,注册(用户注册后才能登录) 2.显示所有书籍基本信息(编号,书名,价格等) 3.添加...
MVC模式_jsp+javabean+servlet开发“在线考试系统”源代码
本项目基于MVC模式制作的一个购物程序(简易),可以供用户在网页上订购教材。需要用到数据库,过滤器,监听器。 购物车项目内容具体讲解请点击 http://t.csdn.cn/2rouA 进行简单了解与学习 全项目下载解压直接...
基于 JSP、Servlet 和 JavaBean 的 MVC(Model-View-Controller)架构是一种常见的 Java Web 应用程序设计模式,它将应用程序分为模型、视图和控制器三个核心部分,以实现代码的分层和解耦。以下是基于该架构实现的 ...
Java+servlet+javaBean实现MVC_jspmvc项目是一套基于Java平台开发的Web应用框架,旨在通过实现模型-视图-控制器(MVC)设计模式来提高Web应用程序的可维护性和可扩展性。此项目特别适合大学生在进行毕业设计时学习和...