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语言中用来规范客户端程 ...
随机推荐
- 关于Android 7.0无法进行https抓包的问题
在App进行数据请求的时候,如果每次都打印log去判断是一件很不"人性化"的操作行为,所以一般都会进行抓包分析. 以最常用的软件Fiddler来说,进行普通的http抓包没什么事, ...
- UWP:使用Composition实现类似安卓的水波纹Ripple效果
先放效果图: 首先,建立一个RippleHelper.cs文件,然后建立以下附加属性: IsFillEnable:是否扩大到整个控件 RippleDuration:持续时间 RippleRadius: ...
- 为eclipse安装subclipse(SVN插件)
1.打开eclipse,点击菜单Help->Install New Software 2.进入安装窗体后,点击安装窗体的右侧的Add按钮,然后在弹出的窗体中输入名称:Subclipse 1.12 ...
- 【MyBatis】MyBatis自动生成代码查询之爬坑记
前言 项目使用SSM框架搭建Web后台服务,前台后使用restful api,后台使用MyBatisGenerator自动生成代码,在前台使用关键字进行查询时,遇到了一些很宝贵的坑,现记录如下.为展示 ...
- 以@Value方式注入 properties 配置文件
类中读取XML文件不是太方便,所以使用*.properties是比较好的办法 注入方式获取是最直接,最快捷的.这个操作主要涉三个部分,下面分别介绍: 首先,配置文件准备.这里文件名命名为applica ...
- aspnetcore.webapi实践k8s健康探测机制 - kubernetes
1.浅析k8s两种健康检查机制 Liveness k8s通过liveness来探测微服务的存活性,判断什么时候该重启容器实现自愈.比如访问 Web 服务器时显示 500 内部错误,可能是系统超载,也可 ...
- 实现Java线程安全
一个类如果想要满足线程安全的条件: 每个线程都能正常的执行原子操作,保证得到正确的结果 这个类的对象可以同时被多个线程安全的访问 在每个线程的原子操作都完成后,对象处于合理的状态 一般情况下不可变类总 ...
- 笔记:Maven 设置代理配置
如果公司基于安全因素考虑,要求使用通过安全认证的代理服务器访问因特网,这种情况夏,需要为 Maven 配置HTTP代理,才能让他正常访问外部仓库,配置代理服务器需要在~/.ms2/settings.x ...
- ReactNative环境配置的坑
我用的是windows开发android,mac的可以绕道了. 1.android studio及Android SDK的安装 现在需要的Android版本及对应的tool 2.真机运行要配置对and ...
- Python之sqlite3
Python sqlite3数据库是一款非常小巧的内置模块,它使用一个文件存储整个数据库,操作十分方便,相比其他大型数据库来说,确实有些差距.但是在性能表现上并不逊色,麻雀虽小,五脏俱全,sqlite ...