javaweb一周总结
•发布于   •作者 jack  •310 次浏览  •来自 博客

一、Servlet简介

  Servlet是sun公司提供的一门用于开发动态web资源的技术。  

        Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:  

1、编写一个Java类,实现servlet接口。  

2、把开发好的Java类部署到web服务器中。  按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet

二、在Eclipse中开发Servlet

 Servlet接口SUN公司定义了两个默认实现类,分别为:GenericServlet、HttpServlet。

 HttpServlet指能够处理HTTP请求的servlet,它在原有Servlet接口上添加了一些与HTTP协议处理方法,它比Servlet接口的功能更为强大。因此开发人员在编写Servlet时,通常应继承这个类,而避免直接去实现Servlet接口。  HttpServlet在实现Servlet接口时,覆写了service方法,该方法体内的代码会自动判断用户的请求方式,如为GET请求,则调用 HttpServlet的doGet方法,如为Post请求,则调用doPost方法。因此,开发人员在编写Servlet时,通常只需要覆写doGet 或doPost方法,而不要去覆写service方法。


第一种方式:1、自己新建个class,然后继承HttpServlet,重写doGet()和doPost()方法。

                     2、然后在xml中配置好路由映射

       

<servlet>
    <servlet-name>RegisterServlet</servlet-name>
    <servlet-class>itstu.club.web.loginservlet.RegisterServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>RegisterServlet</servlet-name>
    <url-pattern>/Loginregister</url-pattern>
  </servlet-mapping>

第二种方式:

右键→New→Servlet,如下图所示:

  

  

  

  这样,我们就通过Eclipse帮我们创建好一个名字为ServletDemo1的Servlet。

三、会话和保存会话的两种数据Cookie和Session

1、会话的概念

  会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。  有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾经来过,这称之为有状态会话。

2、会话过程中要解决的一些问题?

  每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据。

3    、保存会话数据的两种技术

      3.1、Cookie

  Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。

    3.2、Session

  Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于 session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它 web资源时,其它web资源再从用户各自的session中取出数据为用户服务。

四、HttpServletRequest介绍

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。

 /**
          * 1.获得客户机信息
        */
        String requestUrl = request.getRequestURL().toString();//得到请求的URL地址
        String requestUri = request.getRequestURI();//得到请求的资源
        String queryString = request.getQueryString();//得到请求的URL地址中附带的参数
        String remoteAddr = request.getRemoteAddr();//得到来访者的IP地址
        String remoteHost = request.getRemoteHost();
        int remotePort = request.getRemotePort();
        String remoteUser = request.getRemoteUser();
        String method = request.getMethod();//得到请求URL地址时使用的方法
        String pathInfo = request.getPathInfo();
        String localAddr = request.getLocalAddr();//获取WEB服务器的IP地址
        String localName = request.getLocalName();//获取WEB服务器的主机名
        response.setCharacterEncoding("UTF-8");//设置将字符以"UTF-8"编码输出到客户端浏览器


0 回复
回到顶部

©2017 Powered by 三十三行伪代码
皖ICP备17005175号-3