java之servlet小记
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小记的更多相关文章
- 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旨在解决 ...
- 用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应
http://blog.csdn.net/panjunbiao/article/details/8615880 用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应
- 如何使用Java、Servlet创建二维码
归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用.从候车亭.产品包装.家装卖场.汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们.随着智能手机的用户量日益增长,二维码的使用正在呈指 ...
- java之servlet入门操作教程一续
本节主要是在java之servlet入门操作教程一 的基础上使用myeclipse实现自动部署的功能 准备: java之servlet入门操作教程一 中完成myFirstServlet项目的创建: ...
- JSP、Java和Servlet获取当前工程的路径
JSP.Java和Servlet获取当前工程的路径: 1.JSP中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI()结果:/TE ...
- 【转】如何使用Java、Servlet创建二维码
归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用.从候车亭.产品包装.家装卖场.汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们.随着智能手机的用户量日益增长,二维码的使用正在呈指 ...
- (转)如何使用Java、Servlet创建二维码
归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用.从候车亭.产品包装.家装卖场.汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们.随着智能手机的用户量日益增长,二维码的使用正在呈指 ...
- java的servlet执行过程是怎么样的?
java的servlet执行过程是怎么样 答: Servlet执行过程:程序第一次访问,会调用servlet的init()方法初始化(只执行一次),每次程序执行都会根据请求调用doGet()或者d ...
- Java Web Servlet知识点讲解(一)
一.Web应用架构 如图所示: HTTP协议:一个简单的请求一响应协议,通常运行在TCP之上,它指定了客户端可能发送给服务器什么样的信息以及得到什么样的响应. JDBC:Java语言中用来规范客户端程 ...
随机推荐
- 【Webpack的使用指南 02】Webpack的常用解决方案
说是解决方案实际上更像是webpack的插件索引. 写这一篇的目的是为了形成一个所以,将来要用时直接来查找即可. 索引目录 1.自动构建HTML,可压缩空格,可给引用的js加版本号或随机数:html- ...
- To Fill or Not to Fill (贪心)
转自:https://www.cnblogs.com/XBWer/p/3866486.html With highways available, driving a car from Hangzhou ...
- Java基础知识回顾之一 ----- 基本数据类型
前言 在开始工作至今,学习各种各样的技术之中发现自己的很多Java的基础知识都忘了⊙﹏⊙b汗... 而且越是学习越是发现Java基础的重要性,所以准备单独抽一下时间进行Java基础的重新学习.在重新学 ...
- windows下远程访问Redis,windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效,Windows Redis requirepass不生效,windows下远程访问redis的配置
转载:http://fanshuyao.iteye.com/blog/2384074 一.Redis下载地址: https://github.com/MicrosoftArchive/redis/re ...
- SQL Server The target database ('db') is in an availability group and currently does not allow read only connections. For more information about application intent, see SQL Server Books Online.
一.问题概述 在错误日志中看到非常多的alwayson群集只读连接错误,错误信息的描述为“目标数据库位于可用性组,当前不允许通过read only连接”.错误日志如下: 当前的业务系统使用监听ip对数 ...
- CucumberJS 资源
https://cucumber.io/docs/reference/javascript https://github.com/cucumber/cucumber-js
- 腾讯云GAME-TECH游戏开发者技术沙龙(深圳)开启报名啦~
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~. 作者:由腾讯游戏云发表在云+社区 腾讯云GAME-TECH沙龙继1月杭州站后,将于3月30日来到深圳站,与游戏厂商和游戏开发者,畅聊游戏安 ...
- PHP编程效率的20个要点--PHP技术教程分享
用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP教程会教你在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:兄弟 ...
- thinkphp5 taglib自定义标签教程
学着写了一下,终于搞定了,顺便分享一下!taglib是tp框架自定义标签功能,如果你用过cms,肯定见过类似: {dede:arclist typeid='' row='' col='' titlel ...
- python3 爬虫开发 学习总结一
virtualenv 安装虚拟环境的 pip install virtualenv安装慢的话,可以指定源 pip install -i 源地址 xxx 就可以安装xxxvirtua ...