Servlet               service+applet                   服务+小程序

Java是语言,像c\c#等一样,是一门计算机语言,servlet是java里面的一种类,一般用于基于web的程序里面,用来接收页面客户(即客户端)发送来的请求,并且处理这些请求。Servlet是在服务器运行的java类。

Servlet是运行在服务器上的一段代码,这段代码能被页面通过http请求访问到,即能为页面提供服务。

生命周期:

载入,一次

初始化,一次

服务,n次

销毁,一次

几个重要对象:

                   request对象:请求对象,服务器将请求信息封装成了一个对象,这个对象就是request,因为java是面向对象的。

其作用就是用来获取请求参数的。

获取单个参数:request.getParameter();

获取多个同名不同值参数:(checkbox)request.getParameterValues();

其遵循http协议,该对象里面包含了

请求行:

请求头:

请求实体:

网络信息:

Response对象:响应对象,服务器在接收到请求时创建这个对象。

设置对象属性。

其遵循http协议,该对象里面包含了

响应行:(了解)

响应头:

addHeader()可以设置自定义且可以设置两个同名不同值的head

setHeader()设置原有的响应头

响应实体:response.getWriter.write()

response.getWriter.print()

响应消息中的数字有特殊含义:

                            1消息,2成功,3重定向,4客户端错误,5服务器错误

常见错误:404,url写错,空跑服务器,web.xml写错

405,在代码中调用了父类的doget/dopost方法

(解决:重写service方法,不调用父类的)

Cookie对象:在服务器端创建,在客户端保存;其可以保存小量的数据,在客户端解决无状态的问题。

通过响应对象传送回浏览器;

通过new方式创建;

保存:若设置了有效时间,则保存在客户端,否则保存在浏览器内存;

有效时间Maxage,单位为s,如7天,即为7*24*3600

路径:设置路径,访问特定的地址才会携带这个cookie;

获取:request.getCookies();

实例:三天免登陆

用户上次登录过:1、勾选了三天免登陆,2、未勾选

用户从来没有登录过。

进Aservlet的时候,判断是否携带了cookie,若果携带了就拿到cookie值进行数据库操作;

如果数据库有记录,就直接跳转到index.jsp直接登录;否则,需要输入账号密码登录。

Session对象:标识浏览器和服务器之间的一个会话,一个会话可以包含多个请求,这些请求的数据可以互相共享。

作用:保存数据,在服务器端解决了http无状态的问题;

创建:第一次发出请求的时候创建session;

是否可以取消cookie,因为session的传递需要cookie;

创建servlet的步骤:

1、  新建一个web项目,确定javaEE版本号(5.0/2.5),jdk版本号(1.6/1.7),jstl版本号(1.2);

2、  新建一个包,创建class,继承httpServlet,让普通的class成为一个servlet,删掉super.service,重写父类的service方法;

3、  在web.xml中注册所写的servlet,并且让一个url或者多个url与所写的servlet进行映射(绑定),告诉服务器,我所写的servlet,及其在哪个包下;

4、  将项目部署到tomcat服务器上;

5、  打开浏览器访问我们的web项目。

JavaEE 5.0 lib  web开发需要的jar包

Jstl 1.2 lib  web开发需要的jar包

Webroot web项目的根节点

Meta-inf  项目结构信息

Web-inf  当前web项目的配置信息

Lib 放当前项目所依赖的jar包

Web.xml(很重要)

<servlet>

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

<servlet-class>com.bjsxt.lc.FirstServlet</servlet-class>  在哪个包下

</servlet>

让一个servlet与一个url进行绑定

<servlet-mapping>

<servlet-name>firstServlet</servlet-name>   名字,与上面的对应

<url-pattern>/firstServlet</url-pattern>    在网址栏写的时候所写内容,项目名字下的servlet名,以方便找到加载项

</servlet-mapping>

打开浏览器访问

http://192.168.1.240:8080/firstWebProject/firstServlet

http://192.168.1.240 到这里就访问到了电脑

http://192.168.1.240:8080到这里就访问到了tomcat服务器

http://192.168.1.240:8080/firstWebProject 访问到了tomcat服务器上你指定的项目

http://192.168.1.240:8080/firstWebProject/firstServlet  访问到了指定项目中的指定的servlet

servletConfig对象

对单个servlet的配置文件封装而来的对象。

作用:     获取servlet的名字;

获取servlet的初始化参数;

通过单个servlet的配置信息,获取全局servlet的信息,即通过servletConfig对象获取servletContext对象;

设置和获取全局的servlet配置信息;

获取项目部署后的真实路径;

获取项目名;

获取webroot下的文件。

涉及到的英文含义:

DAO                   Data Acess Object数据访问接口,顾名思义就是与数据库打交道。

功能:

1、         用来封装data source,比如Connection connection = DAOFactory.createConnection();就可以把Driver,url,username,password这些放在DAO中,以后要更改数据库的类型,比如要把MySQL换成Oracle的话,只需要更改DAOFactory里面的getConnection()里面的Driver,url这些就行了。

2、         DAO也是把对数据库的操作,比如最基本的crud操作,全部封装在里面,比如要插入一个新用户,那么在DAO中只需要提供一个insertUser(User user)这一个方法就可以了,具体的操作是在DAO中实现的。

java是语言,像C、C#等一样是一门计算机程序语言,servlet是java里面一种类,一般用于基于web的程序里面,用来接收页面客户即客户端发送来的请求,并且处理这些请求。Servlet是在服务器运行的java类。为了便于分层,使得程序更具扩展性,层次较清晰,或者为了方便维护的目的,可以将访问数据的操作分出来。为了提供一个数据层操作的一个标准,就设计出DAO接口。DAO接口是提供一套规范,然后在写具体的数据操作类的时候,继承DAO接口,实现DAO接口的方法。而程序员在使用数据操作的时候,只需要看DAO接口提供的方法就行了,不用管数据操作类具体操作的步骤。这样就分出层次。

java之servlet小记的更多相关文章

  1. Ed Burns谈HTTP/2和Java EE Servlet 4规范

    在2015年JavaLand大会上,Ed Burns展示了Java EE Servlet 4.0规范(JSR 369)的概要,演讲的重点在于Java EE平台对HTTP/2的支持.HTTP/2旨在解决 ...

  2. 用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应

    http://blog.csdn.net/panjunbiao/article/details/8615880   用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应

  3. 如何使用Java、Servlet创建二维码

    归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用.从候车亭.产品包装.家装卖场.汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们.随着智能手机的用户量日益增长,二维码的使用正在呈指 ...

  4. java之servlet入门操作教程一续

    本节主要是在java之servlet入门操作教程一  的基础上使用myeclipse实现自动部署的功能 准备: java之servlet入门操作教程一 中完成myFirstServlet项目的创建: ...

  5. JSP、Java和Servlet获取当前工程的路径

    JSP.Java和Servlet获取当前工程的路径: 1.JSP中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI()结果:/TE ...

  6. 【转】如何使用Java、Servlet创建二维码

    归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用.从候车亭.产品包装.家装卖场.汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们.随着智能手机的用户量日益增长,二维码的使用正在呈指 ...

  7. (转)如何使用Java、Servlet创建二维码

    归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用.从候车亭.产品包装.家装卖场.汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们.随着智能手机的用户量日益增长,二维码的使用正在呈指 ...

  8. java的servlet执行过程是怎么样的?

    java的servlet执行过程是怎么样   答: Servlet执行过程:程序第一次访问,会调用servlet的init()方法初始化(只执行一次),每次程序执行都会根据请求调用doGet()或者d ...

  9. Java Web Servlet知识点讲解(一)

    一.Web应用架构 如图所示: HTTP协议:一个简单的请求一响应协议,通常运行在TCP之上,它指定了客户端可能发送给服务器什么样的信息以及得到什么样的响应. JDBC:Java语言中用来规范客户端程 ...

随机推荐

  1. NancyFX 第六章 视图引擎

    正如其他的Web工具包,Nancy也有视图的概念,用来描述在浏览器上看到的输出 视图的定义 你可能没有之前没有接触过"视图"的概念,或是仅仅是从其他工具包例如ASP.NET MVC ...

  2. Spring @AfterReturning 总是返回null

    在学习Spring Aop时,遇到一个问题,当 @Around(环绕通知)与 @AfterReturning(后置通知)共存 时,@AfterReturning 通过属性 returning = &q ...

  3. jqgrid 单元格引入时间datepicker控件

    简述原理:引入jquery-ui插件,设置好表格所需的字段变量以及字段属性1.设置colName与colModel colNames: ['过期时间''] colModel:[{       name ...

  4. 设计模式——观察者模式(C++实现)

    #include <iostream> #include <vector> #include <algorithm> #include <iterator&g ...

  5. pc端响应式-媒体查询

    媒体查询(@media):能在不同的条件下使用不同的样式,使页面在不同在终端设备下达到不同的渲染效果 列举常用的pc屏幕宽度: 1024  1280  1366  1440  1680  1920  ...

  6. netcore 使用surging框架发布到docker

    demo运行在windows的docker中,系统是win10,所以需要先下载Docker for Windows,安装完毕后系统会重启,然后桌面上可以找到Docker for Windows的快捷图 ...

  7. 用session做权限控制

    一个需要用户进行登录的网站,基本上都会设置用户权限,对不同的用户进行权限控制.例如:一个网站肯定会有一个管理员管理着普通的用户,普通的用户不可能对其他用户有着类似于增删改查等操作,这样网站都乱了--, ...

  8. WinSock 异步I/O模型-3

    重叠I/O(Overlapped I/O) 在 Winsock 中,重叠 I/O(Overlapped I/O)模型能达到更佳的系统性能,高于之前讲过的三种.重叠模型的基本设计原理便是让应用程序使用一 ...

  9. 聊一聊JS的原型链之高级篇

    首先呢JS的继承实现是借助原型链,原型链即__proto__形成的链条. 下面一个例子初步认识下原型链: function Animal (){ } var cat = new Animal() 我们 ...

  10. 前端Blob对二进制流数据的处理方式

    var xhr = new XMLHttpRequest(); xhr.open("post", "/login/getCaptcher?t=" + Math. ...