回顾

1三要素是什么?

入口(login.html)     处理(LoginServlet.java)  出口 (success.jsp)

2如何访问servlet

http://IP:port/project/urlpattern

urlpattern ---->web.xml中找

3 request 和 response的区别?

Request请求  Broswer---->Tomcat    login.html--->LoginSevlet.java

Response返回 Tomcat---->Broswer

4 doGet  和  doPost的区别?

doGet   <a href=url>  超链接用的默认方式 get   不解中文决乱么

<form action=url  method=get >

明文传递方式 浏览器中可以看到传递的信息

不安全,并且数据量大的时候会缺损数据

doPost   <form action=url  method=post >        解决中文乱码

密文传递方式 浏览器看不到传递的信息

安全,并且数据量大的时候不会缺损数据

5如何解决乱码问题?

Request请求有乱码

request.setCharacterEncoding("UTF-8");

Reponse返回有乱

response.setCharacterEncoding("UTF-8");

6 如何取得请求中的值 ?

String value=request.getParameter(“控件名”);   单个值

String []  values=request.getParmeterValues(“控件名”);  同名多个值

7 常见的错误:404 、500?

404 路径错误---解决思路  跟踪路径

500 代码错误---解决思路  jsp/servlet中代码错误

获取不到值null  在console里面去找到错误的位置。

8 servlet中得到流的方法?

字符流   response.getWriter( )----->PrintWriter

字节流   response.getOutputStream()-->OutputStream

9 如何跳转到出口?

//跳转并且可以传递数据

request.getRequestDispatcher("success.jsp").forward(request, response);

//重新定向 跳转不传递数据

//response.sendRedirect("success.html");

10如何将数据传递到出口?

//保存数据

request.setAttribute("name", username);

request.setAttribute("password", pwd);

//获取数据

用户名是:${ name}   ,密码: ${password}。

11 Servlet的生命周期

Servlet的生命周期是由tomcat服务器来控制的。

1 构造方法:

创建servlet对象的时候调用。默认情况下,第一访问servlet就会创建servlet对象只创建一次。说明servlet对象在tomcat中是单实例的。

2初始化   init方法

当创建完servlet对象的时候会调用init()方法,只调用一次。

3 调用服务 service 方法   其中就包含doGet  doPost等方法

每次发送请求的时候调用。可以调用n次。

4 销毁    destory 方法

销毁servlet对象的时候调用,停止服务器或者重新部署的web项目的时候销毁servlet就会调用destory方法

12 Servlet时序图

13 servlet自动加载

在web.xml中加入

<load-on-startup> 1</load-on-startup>

里面的数字越小加载级别越高

当tomcat启动的时候,就去运行web.xml解析里面的内容,当发现有自动加载的数据时候,就会运行加载。

<servlet>

<servlet-name>sl</servlet-name>

<servlet-class>com.bw.servlet.LoginServlet</servlet-class>

<load-on-startup>3</load-on-startup>

</servlet>

14 ServletConfig 对象

主要是加载servlet的初始化参数,在web应用中可以存在多个ServletConfig对象

<servlet>

<servlet-name>sl</servlet-name>

<servlet-class>com.bw.servlet.LoginServlet</servlet-class>

<init-param>

<param-name>username</param-name>

<param-value>godyang</param-value>

</init-param>

<init-param>

<param-name>password</param-name>

<param-value>123456</param-value>

</init-param>

</servlet>

15 ServletContext对象

上下文对象,表示当前的web应用(项目)环境。一个web应用只有一个ServletContext对象

上下文参数配置  它是全局的  所有的servlet都可以访问

<context-param>

<param-name>ecode</param-name>

<param-value>UTF-8</param-value>

</context-param>

// 获取上下文对象

ServletContext sc = this.getServletContext();

String contextParamValue = sc.getInitParameter("ecode");

System.out.println("contextParamValue=" + contextParamValue);

//项目路径

String path=sc.getContextPath();

System.out.println("path="+path);

//文件发布后(tomcat/webapps)的真实路径

String realPath=sc.getRealPath("counter.txt");

System.out.println("realPath="+realPath  );

//获取文件流

InputStream  is=sc.getResourceAsStream("C:\\Tomcat\\webapps\\webThree\\WEB-INF\\classes\\counter.txt");

java servlet的更多相关文章

  1. java servlet 几种页面跳转的方法及传值

    java servlet 几种页面跳转的方法及传值   java web 页面之间传值有一下这几种方式1.form 表单传递参数2.url地址栏传递参数3.session4.cookie5.appli ...

  2. Java Servlet与Web容器之间的关系

    自从计算机软件开发进入网络时代,就开始涉及到通讯问题.在客户/服务器(也叫C/S应用)时期,每个软件都有自己的客户端和服务器端软件.并且客户端和服务器端之间的通讯协议差别也很大.后来随着互联网的发展, ...

  3. java servlet调用带有多个返回结果集的存储过程

    一.mysql存储过程 这里我先说下我这个功能实现的逻辑及途中遇到的一些问题.这个存储过程一共带两个输入参数,一共关联到两张表的查询,每个参数都对应查询表中的一个判断,所以一共返回了两个结果集(当然要 ...

  4. java servlet+mysql全过程(原创)

    前段时间写过一篇 servlet+oracle的文章,但是那是因为公司有可能接那么一个项目,然后我当时也比较闲,所以随便学了下,那玩意是白去研究了,因为公司后面并没接到那项目. 这次学servlet用 ...

  5. java servlet+oracle 新手可看

    最近公司领导告诉接下去接的一个产品,可能会涉及到oracle数据库,以前用得最多的是mssql,前些时间学了下mysql也算少许用过.oracle没接触过.应为我之前做过.net开发,所以数据访问接口 ...

  6. Java Servlet完全教程

    Servlet 是一些遵从Java Servlet API的Java类,这些Java类可以响应请求.尽管Servlet可以响应任意类型的请求,但是它们使用最广泛的是响应web方面的请求. Servle ...

  7. Java Servlet系列之Servlet生命周期

    Servlet生命周期定义了一个Servlet如何被加载.初始化,以及它怎样接收请求.响应请求,提供服务.在讨论Servlet生命周期之前,先让我们来看一下这几个方法: 1. init()方法 在Se ...

  8. JAVA SERVLET专题(上)

    SERVLET简介 ·Java Servlet 是和平台无关的服务器端组件,它运行在Servlet容器中.Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和 ...

  9. Java Servlet——改进的CGI

    一.关于Servlet 在上一篇随笔中,我们看到了CGI存在的不足,其每次请求都需加载和运行一个CGI程序.若使用Java编写CGI程序,需要为每个请求都启动一个系统进程以及JVM,其执行效率大大降低 ...

  10. Java Servlet 技术简介

    Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...

随机推荐

  1. jQuery中json对象与json字符串互换

    json字符串转json对象:jQuery.parseJSON(jsonStr); json对象转json字符串:JSON.stringify(jsonObj); 根据“|”把字符串变成数组.spli ...

  2. Android Studio更新升级方法

    自从2013 Google I/O大会之后,笔者就将android ide开发工具从eclipse迁移到Android Studio了,android studio一直在更新完善,为了与时俱进,我们当 ...

  3. Hibernate组件和关联映射

    一.基本定义 组件:建立一个类,为了方便代码复用和建立模型,但类在数据库中并没有对应的表,此类可以作为一个组件插入到其他类中(有数据表的类) 组件和关联映射的关系是组件是没有对应的类;组件是值类型的, ...

  4. 如何修改SharePoint2013服务器场帐号密码

    服务器远程登录帐号密码修改密码后,如何修改sharepoint服务器场管理员账户密码,今天登录了一下N久以前的搭建sharepoint2013服务器场的一台服务器器,登录进去以后直接提示帐号密码过期需 ...

  5. JS原生ajax与Jquery插件ajax深入学习

    序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来jquery插件ajax方法,于是就行了一些总结,因 ...

  6. WordPress酷炫CSS3读者墙代码

    前几日在大前端看到他站点中最新的CSS3读者墙代码,一看效果绚丽的不得鸟,立刻就开始研究了,多次研究未果,可终究是研究出来了,昨天刚成功,今天啊和童鞋来我站说读者墙头像显示不对,我一看,还真是,头像都 ...

  7. PHPMailer < 5.2.18 - RCE EXP(Bash)

    #!/bin/bash# CVE-2016-10033 exploit by opsxcq# https://github.com/opsxcq/exploit-CVE-2016-10033echo ...

  8. SQL批量更新 关系表更新

    很多人在做数据的批量更新时..如果更新的内容是从其他表查出来的..很容易这么写.. UPDATE TABLE1 SET COLUMN1=(SELECT SUM(SOMETHING) FROM TABL ...

  9. Active Record 数据迁移

    1.创建controler: welcome ;action: index $ rails generate controller welcome index 2.创建名为Article的model定 ...

  10. .Net Core 杂记

    在学习.net core的路上,遇到很多坑,慢慢了解了.net core设计理念和设计思想(纯属跟人理解). 再此整理了之前写的一些学习笔记,后续也会把新的学习新的加上. 1..net core 跨平 ...