`
insertyou
  • 浏览: 901571 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Servlet开发(1)-----基础及MVC设计模式

 
阅读更多


一、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>

分享到:
评论

相关推荐

    JSP-Servlet 简单mvc模式

    总结来说,“JSP-Servlet 简单mvc模式”项目提供了一个基础的Web应用示例,通过JSP和Servlet实现MVC设计模式,展示了如何处理用户请求,管理业务逻辑,以及生成动态网页。这样的架构有助于提高代码的可读性和可维护...

    JavaWeb实现简易教务管理系统-servlet-jsp-MVC

    这是一个纯JavaWeb项目,采用MVC模式,即 模型(model)-视图(view)-控制器(controller),没有使用其他框架,采用的是纯servlet+jsp实现的一个简易选课JavaWeb项目,实现的功能如下:包括 **管理员 教师 学生** ...

    javaee 实验报告 实验一 JSP+Servlet+Javabean+jdbc-基于MVC模式的数据库的应用

    MVC(Model-View-Controller)模式是一种设计模式,它将业务逻辑(Model)、用户界面(View)和数据控制(Controller)分离,以提高代码的可维护性和可扩展性。在这个实验中,JSP作为View层负责展示数据,Servlet...

    Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统

    Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统 Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统 Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统

    Servlet+JSP+JavaBean开发模式(MVC)开发用户登录注册程序

    这种开发模式常被称为MVC(Model-View-Controller)架构,是软件设计的一种经典模式,有助于实现代码的解耦和模块化。下面将详细介绍这个模式以及如何使用它们来开发用户登录注册程序。 **Servlet**: Servlet是Java...

    基于MVC设计模式构筑JSPServlet+EJB的Web应用

    综上所述,基于MVC设计模式构建的JSP/Servlet+EJB架构不仅能够有效处理复杂的Web应用开发任务,而且还能显著提高开发效率和代码质量。通过合理地分离关注点,这种架构有助于开发者更好地组织代码结构,简化系统维护...

    采用Servlet+Mvc模式实现学生管理系统

    其次,MVC模式是一种软件设计模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。在学生管理系统中: 1. 模型(Model):包含业务对象和数据,如Student类,存储学生的姓名、...

    JavaWeb开发技术-MVC设计模式.pptx

    **JavaWeb开发技术-MVC设计模式** 在JavaWeb开发领域,MVC(Model-View-Controller)设计模式是一种被广泛采用的架构模式,用于构建可维护性和可扩展性极强的Web应用程序。这个模式将应用逻辑分解为三个相互协作的...

    java中MVC设计模式

    MVC 设计模式是软件架构中的一种经典设计模式,广泛应用于 Java Web 开发中。MVC 模式将应用程序分为三个主要部分:Model(模型)、View(视图)和 Controller(控制器),每个部分都有其特定的职责和功能。 MVC ...

    MVC设计模式 - 发展进程

    通过以上分析,我们可以看出MVC设计模式对于Java Web开发的重要性。它不仅有助于团队协作,还为项目的长期发展提供了强大的支持。随着技术的进步,现在的Web开发框架,如Spring MVC、Struts2等,都是基于MVC模式的...

    基于Servlet和jsp采用mvc模式开发的个人信息管理系统

    3. **MVC设计模式**:MVC是一种将应用程序分为模型(Model)、视图(View)和控制器(Controller)三个部分的架构模式。在JavaWeb开发中,模型负责处理数据和业务逻辑,视图负责显示结果,而控制器则协调模型和视图...

    JAVA开发其他类别jsp+servlet+javaBean实现MVC-jspmvc

    在Java Web开发中,MVC(Model-View-Controller)模式是一种常见的设计模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。本项目"JAVA开发其他类别jsp+servlet+javaBean实现...

    Jsp+servlet+javaBean实现MVC-jspmvc

    在IT行业中,MVC(Model-View-Controller)模式是...总之,MVC模式是Web开发中的经典设计模式,JSP、Servlet和JavaBean的结合为实现这一模式提供了有力的支持。理解并掌握这些技术,对于提升Web开发能力具有重要意义。

    servlet的mvc小练习

    2. **Model-View-Controller (MVC)架构模式**: MVC是一种设计模式,用于将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。模型负责处理数据和业务逻辑,视图负责显示数据,而控制器...

    servlet及MVC学习实例

    MVC模式是一种设计模式,用于将业务逻辑、数据和用户界面分离,使得开发更易于维护和扩展。在MVC架构中: 1. **Model(模型)**:负责处理业务逻辑和数据管理。模型对象获取并存储应用的状态信息,当数据发生变化时...

    基于MVC开发模式开发原生Servlet+jdbc服务器项目-点餐系统.zip

    基于MVC开发模式开发原生Servlet+jdbc服务器项目-点餐系统.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计...

    其他类别jsp+servlet+javaBean实现MVC-jspmvc

    【标题】"其他类别jsp+servlet+javaBean实现MVC-jspmvc" 涉及的是Web开发中经典的MVC(Model-View-Controller)设计模式的实现,使用了Java技术栈,包括JSP(JavaServer Pages)、Servlet以及JavaBean。这种模式在...

    jsp+servlet+javaBean实现MVC-jspmvc【计算机毕业设计】

    总之,"jsp+servlet+javaBean实现MVC-jspmvc"项目通过运用MVC设计模式,结合Java的相关技术和工具,构建了一个功能完善的Web应用,展示了在实际开发中如何组织和管理代码,以实现高效、可扩展和易于维护的系统。

    基于java--jsp--servlet--tomcat--sqlserver的社区医疗管理系统

    系统采用了MVC(Model-View-Controller)设计模式。Model代表数据模型,负责处理业务逻辑和数据操作;View是用户界面,负责展示数据;Controller是控制器,接收用户请求,调用Model进行处理,然后更新View。这种模式...

    基于MVC开发模式开发原生Servlet+jdbc服务器项目-点餐系统源码+项目说明.zip

    【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业...原生javaWeb项目,使用MVC开发模式开发原生Servlet+jdbc服务器项目-点餐系统

Global site tag (gtag.js) - Google Analytics