zoukankan      html  css  js  c++  java
  • Java Web基础

    Java Web基础学习---Servlet

    1.什么是servlet

    jsp的前生就是servlet,servlet就是在服务器端上运行的小程序,一个servlet就是一个java类,并且可以通过"请求-响应",编程模型来访问这个驻留在服务器内存里的servlet程序

    2. 手工编写第一个Servlet

    Servlet层级关系:
    Servlet(接口)-->GenericServlet(抽象类,与协议无关的Servlet)-->HttpServlet(抽象类,实现了Http协议的Servlet)-->Custom Servlet(自定义的Servlet)

    1. 继承HttpServlet


      image.png
    2. 重写doGet()或者doPost()方法


      image.png
    3. 在Web.xml中注册Servlet


      image.png

      通常我们使用Myeclipse直接创建Servlet


      image.png

     

     

     

     

     

     

    3.servlet执行流程

    get方式请求HelloServlet,首先用户在页面点击超链接,服务器会根据这个超链接地址扫描web.xml,找出对应的连接url,再找到对应的name,再根据name找到类的地址,超链接代表get请求,调用do get方法


    image.png

    4.Servlet与九大内置对象的对应关系:

    1、JSP的——out对象 Servlet——response.getWriter
    (严格意义上讲这两个类型是不匹配的response.getWriter()获得的是PrintWriter类型的对象,out是JspWriter类型的对象,都可以对浏览器进行输出,但类型是不一样的。
    2、JSP——request对象 Servlet——通过service方法中的request参数获取,也可以通过doGet、doPost方法中的参数来获取。
    3、JSP——response对象 Servlet——通过service方法中的response参数获取,也可以通过doGet、doPost方法中的参数来获取。
    4、JSP——session对象 Servlet——通过传进来的request的getSession()方法来获取。
    5、JSP——application对象 Servlet——通过Servlet中的geServletContext()函数来获取。
    6、JSP——exception对象 Servlet——通过抛出异常Throwable方式来获取。
    7、JSP——page对象 Servlet——对应this对象。
    8、JSP——pageContext对象 Servlet——对应PageContext对象。
    9、JSP——Config对象 Servlet——通过Servlet中的getServletConfig函数来获取。

    5.Servlet路径跳转

    一、JSP跳转到Servlet
    1、相对路径,如href="servlet/TestServlet"
    ***注意:如果写成"/servlet/TestServlet"会报错,因为第一个'/'表示的是【服务器根目录:http://localhost:8080/
    2、绝对路径,通过内置成员变量path实现,如href="<%=path%>/servlet/TestServlet"。
    ***注意:这里的path得到的是项目根目录,如【http://localhost:8080/Servlet002_GetFormDemo

    二、Servlet跳转JSP
    1、请求重定向:response.sendRedirect(request.getContextPath()+"/xxx.jsp");这里通过request.getContextPath()方法获得项目根目录,或者通过"../xxx.jsp"取得上层路径得到
    2、服务器内部转发:request.getRequestDispatcher("../xxx.jsp").forward(req,resp);
    小结:都可以通过../xxx.jsp得到

    6.获取初始化参数

    在web.xml中配置servlet时,可以配置一些初始化参数,而在servlet中可以通过servletConfig接口提供的方法类取得这些参数,如下图红框中在web.xml文件中初始化参数


    通过类里面的init()方法,this.getInitParameter("password")来从xml配置文件中获取类属性password所指定的初始值,如下图中定义username和password两个属性,在init()中获取xml文件中指定的初始值


    image.png

    7.model2模型

    在之前的JSP学习中介绍了Model1模型,即JSP+javabean模型,这里介绍第二种模型Model2模型.
    java Web的model2开发模型就是MVC(模型层,视图层,控制层)思想的体现
    充当模型层的是JavaBean,充当控制层的是Servlet,充当视图层的是JSP。然后要访问的数据就在数据库层
    工作原理:
    首先由JSP页面向控制层提交请求,然后由控制层Servlet实例化一个模型层的对象,或者说是调用一些模型层的功能,然后由模型层访问数据库层(读取数据库),模型层得到结果后再反馈给控制层,控制层根据得到的结果选择给用户呈现不同的页面(跳转到不同的JSP页面)。


    image.png


    作者:飞灰非辉
    链接:https://www.jianshu.com/p/a784a5ecf5a2
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    20155219 2017-2018-1 《信息安全系统设计》第4周学习总结
    20155219 2017-2018-1 《信息安全系统设计》第3周学习总结
    20155219实践题目实现od命令
    20155219 2017-2018-1 《信息安全系统设计》第4周课堂实践
    2017-2018-1 20155219《信息安全系统设计基础》第1周学习总结
    课堂实践6-7
    20155219 实验五《网络编程与安全》实验报告
    20155219 2016-2017-2《Java程序设计》课程总结
    20155212 mybash的实现
    20155212 2017-2018-1 《信息安全系统设计》第5周学习总结
  • 原文地址:https://www.cnblogs.com/yangf428/p/12527152.html
Copyright © 2011-2022 走看看