Servelet

日志内容:

:WEB:

1.应用程序分类::桌面应用程序:一般是指采用Client/Server即客户机/服务器结构(简称CS结构)的应用程序。

        二:Web应用程序,般是指采用Browser/Server即浏览器和服务器结构(简称BS结构)的应用程序。

2.HTTP请求常用的方式GETPOST;

GET方式会把要传送的请求数据追加到URL后面,再提交到服务器。限制2083字符

POST方式发送请求数据是作为HTTP消息的消息体来发送的。不会作为URL地址的参数传递,理论上没有数据量限制

3.HTTP响应状态码:

200

正常

302

重定向到Location域指出的URI

304

未修改。服务器上的对应文档未修改,客户机本地缓存的文档是最新的,客户机应该继续使用它。

400

无效请求。客户机的请求有不正确的语法格式

403

禁止。服务器理解客户端的请求,但拒绝处理它。

404

未找到。服务器不存在客户机所请求的资源。

405

不允许此请求方式。请求行中的请求方式对指定的资源不适用。

500

服务器内部错误。服务器端的程序发生错误而不能完成该请求

503

服务不可用。由于当前负载过大

4.Web应用的根目录

/helloapp:Web应用的根目录,所有的JSPHTML文件存放于此目录 

/helloapp/WEB-INF:存放Web应用的发布描述文件web.xml 

/helloapp/WEB-INF/classes:存放各种class文件,servlet类文件也放于此目录 

/helloapp/WEB-INF/lib:存放Web应用所需的各种JAR文件。例如,在这个目录下,你可以存放JDBC驱动程序的JAR文件 

Web应用发布到Tomcat中的目录为

<CATALINA_HOME>\webapps 

:1.定义:Servlet 是一个用 Java 编写的程序,此程序在服务器上运行用来处理客户端请求,并作出响应。

Servlet没有main()方法。它受控于另一个Java应用,这个Java应用称为Servlet容器。Tomcat就是这样一个容器。

   2.   Web服务器应用得到一个指向servlet的请求时,服务器不是把这个请求交给servlet本身,而是先交给部署该servlet的容器。 由容器实例化Servlet,并向servlet提供请求和响应,由容器调用servlet的请求处理方法,处理结果会送回web服务器,再由web 服务器传回客户端。 

3.Servlet生命周期:是指创建 Servlet 实例之后其存在的时间以及何时消失。

生命周期:

实例化:Web容器对Servlet进行实例化

Web容器回调它的无参构造方法

初始化:实例化完成之后,马上进行初始化工作。

Web容器回调init()方法

服务:请求路径匹配上ServletURL映射时。

Web容器回调service方法——service方法中根据请求方式来调用不同的处理方法(doGetdoPost)

销毁: Web容器在卸载Web应用程序前

Web容器回调destroy()方法

4.HTTPServlet主要方法:

response.setContenType(“text/html;charset = utf-8”);

获取HTTP请求方法:   request.getMethod();

获取HTTP请求资源:   request.getRequestURI();

获取HTTP参数:       request.getQueryString();

获取根目录:   request.getContextPath();

获取全路径   request.getRequestURL();

获取IP:   request.getLocalAddr();

PrintWriter out = response.getWrite();

out.println(“>>>>>>>>>>>>>>>>>><br>”);

out.print(“dfdfdf”);

String str = “name”;

resquest.setAttribute(name,str);

resquest.getRequstDispatcher(“/demo.do”).forword(request,response);//

5.重定向和请求分派:

1.调用HttpServletResponse.sendRedirect 方法实现重定向

执行方式:response.sendRedirect("目标URL");

2.调用RequestDispatcher.forward 方法实现请求分派(转发)

ServletRequest中得到一个请求分派器

RequestDispatcher rd = request.getRequestDispatcher("目标URL");

rd.forward(request, response); //转发请求

    它们之间的最大区别是:

重定向由客户端来完成工作,而请求分派要求服务器上的某个Servlet来完成任务。 

重定向会丢失请求对象中的数据。而请求分派不会。

注意:

重定向和请求分派中的新路径若以“/”开头,意义不同。

重定向中:/代表服务器根路径

http://localhost:8080

response.sendRedirect(“/ServletDemo01/demo.do?name = “+str);

请求分派中:/代表Web应用根路径

http://localhost:8080/WebContextRoot

 

resquest.setAttribute(name,str);

request.getRequestDispatcher(“/demo.do”).forword(request,response);

6.:

匹配模式:<url-pattern>(/*) ,(/..)

:如果同时多个为/*之匹配第一个    

模糊:/*.do

更改后台必须重新加载servlet,改网页不用重新加载

*分清重定向和请求分派

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值