zoukankan      html  css  js  c++  java
  • servlet总结:Servlet基础

    Servlet基础

    1.手工编写第一个Servlet

    ⑴继承HttpServlet

    ⑵重写doGet()或者doPost()方法

    ⑶在web.xml中注册Servlet

    2.使用eclipse编写第一个Servlet

    ⑴src->new->Servlet

    ⑵重写doGet()或者doPost()方法

    ⑶部署运行

    3.web.xml文档配置

    <servlet>

           <servlet-name>HelloServlet</servlet-name>//servlet名字

           <servlet-class>servlet.HelloServlet</servlet-class>.//要访问的servlet所在的类,包括包名

    </servlet>

    <servlet>

           <servlet-name>HelloServlet</servlet-name>//和上边的servlet名字一一对应

           <url-pattern>/servlet/HelloServlet< /url-pattern >//名字叫HelloServlet的servlet的访问路径,和请求的路径地址一一对应(其中/表示当前web工程的根目录)

    </servlet>

    4.web服务器在于客户端交互时Servlet的工作过程

     

    小知识点

    *超链接访问的就是get请求

    *PrintWrter out = response.getWriter();//PrintWriter是浏览器输出对象

    response.setContentType(“text/html;charset=utf-8”);//指定输出的文件类型,使得下面的out.println()中的html代码可用;指定字符集为utf-8。

     

    5.get方式请求HelloServlet

     

    6.让doPost()执行与doGet()相同的操作

     

    7.servlet的生命周期

    首先创建servlet实例,先执行构造方法,再执行初始化方法,再执行doGet()方法,关闭服务器之后执行destory()方法。

    8.servlet在tomcat服务器启动时就被装载

    方法:在web.xml中的<servlet></servlet>标签最后加上<load-on-startup>1</ load-on-startup >中间的数字越小优先级越高。

    9.servlet与JSP九大内置对象的关系

     

    10.把注册信息提交到servlet中

    *定义birthday为Date类型,而表单传过来的为String类型,需要用

    SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-mm-dd”);

    Date birthday = sdf.parse(request.getParameter(“birthday”));

    *定义favorite为字符串数组,为了获取多个复选按钮的值,表单传过来的是一个字符串数组,所以获取需要用String[] favorites = request. getParameter(“favorite”)

    *定义boolean类型,如flag,表单传过来的是String类型,直接用String类型接收,然后再if(flag.equals(“true”)

    {user.setFlag(true)}

    Else

    { user.setFlag(false)}

    *注册填写完之后的跳转界面,当把信息都存储到user对象中后,把user对象保存到session中,用request.getSession().setAttribute(“regUser”,user);再之后的跳转用request.getRequestDispatcher(跳转.jsp);

    *跳转的页面:用<jsp:useBean id=”regUser”class=”entity.Users”scope=”session”>

    JavaBean中的property属性用来获取属性值<jsp:getproperty name=”regUser” property=“username”>

    11.servlet路径跳转问题

    ⑴相对路径:

    例:<a href=”servlet/HelloServlet”></a>

    *当使用超链接方式访问的时候,servlet前如果加/,意思是服务器的根目录,而不是项目的根目录,即Http://localhost:8080/servlet/HelloServlet

    *而web.xml文档中,<url-pattern>/servlet/HelloServlet</ url-pattern >中的/表示的是项目的根目录。

    ⑵绝对路径:可以采用request.getContextPath()的方式访问,它表示项目的根目录。

    例:<a href=”<%= request.getContextPath() %>/servlet/HelloServlet”></a>

    ⑶当由servlet跳转到jsp页面时

    ①    请求重定向方式

    request.sendRedirect(request.getContextPath()+”/test.jsp”)

    ②    服务器内部跳转

    request.getRequestDispatcher(”/test.jsp”).forward(request.response);//此时的/代表项目的根目录

    12.MVC模式

     

    EIS为数据库

    13.模型1

     

    14.模型2-MVC思想的体现

     

     

     

  • 相关阅读:
    Average of Levels in Binary Tree
    Maximum Average Subarray I
    Integer Replacement
    Add Digits
    Binary Tree Level Order Traversal II
    Majority Element II
    Majority Element
    匿名函数
    Django的Template不支持range()函数的问题解决办法
    python文件对比利用difflib库实现文件夹下详细内容对比
  • 原文地址:https://www.cnblogs.com/iCheny/p/8746910.html
Copyright © 2011-2022 走看看