本文主要是介绍Serlvet入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Serlvet入门
1.javaee介绍
JAVAEE是一个标准是一个规范(未实现的接口)默认是没有嵌入jdk,apache的tomcat实现了JAVAEE的规范(提供了实现类)
JAVAEE 5.0 版本是最稳定 必须tomcat以上版本Serlvet2.5版本 jsp1.1(serlvet在1.4是有jsp)
JAVAEE 6.0 servlet 3.0 jsp1.
JAVAEE 7.0是最高版本必须是tomcat8以上版本 Servlet3.0 jsp1.2
JAVAEE 两大技术servlet和jsp
2.JAVAEE项目开发的目录结构
上下文 文件夹
WEE-INF
-classes放java编译后的class文件
-lib 放依赖jar包目录
-web.xml 核心的配置文件
*.html
*.jsp
*.js/css/images
Eclipse新建项目的目的就是通过构建工具将项目发布到tomcat/webapps目录
3.tomcat目录结构
Conf/server.xml 可以用于tomcat的常用配置(端口)
Bin用于启动和关闭tomcat的命令 startup启动疏通down关闭
Webapps是程序发布目录(重点)
Logs:日志文件(异常)
当手动启动tomcat时一闪在startup.bat中加
Set JAVA_HOME=环境变量
Set TOMCAT_HOME=TOMCAT路径
4.本机域名设置
在wimdows下,c:\windows\system32\drivers\etc
下的hosts文件,在(该文件是只读文件,取消只读否则会另存为)
在该文件中设置域名(192.168.14.101 www.qq.com)
5.在eclipse中注意
勾上validation中的suspend all validators
取消spelling中的Enable spell checking
6.JAVAEE开发工具
Eclipse
IntelliJ IDEA
Jbuilder
Netbean
7.Get和post区别
1. 本质区别:get是从服务器上获取数据,post是向服务器传送数据。 在做数据查询时, 建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
2. 参数传递区别:get是把参数数据队列加到提交表单的ACTION属性所指的URL中,
http://www.qq.com/a?id=1&password=123 安全性差
post將數據存放在請求體
3. 数据大小区别:get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般 被默认为不受限制。但理论上 1TB
4. 安全性区别:get安全性非常低,post安全性较高。但是执行效率却比Post方法好。 POS 是相對安全 如果 熟悉http協議 基本沒什麼安全性可言
8.服务器端动态处理常见技术
CGI(Common Gateway Interface):公共网关接口
PHP(HyperText Preprocessor):超文本处理器
ASP(Active Server Page):活动服务器页面
Servlet(JSP-Java Server Page):java 服务器页面
9.Servlet概述
是一种 Java 编程对象
能够扩展基于Web服务器的服务
是一个强大的,可以替代 CGI 的技术
10.Http与Servlet
Servlet为了实现基于Http协议的请求和响应,扩展出一个具体的子类HttpServlet,该类专门处理Http协议的请求
11.Servlet 的类层次结构
Gemericservlet:通用基本servlet实现,对于补偿用的方法在这个实现类中进行了基本的实现
Httpservlet:在通过servlef的基础基于http协议进行了进一步
12.HttpServlet
HttpServlet实现了javax.servlet.GenericServlet
HttpServlet类是专门处理基于HTTP协议的Servlet
对于每种类型的 HTTP 请求方法,HttpServlet 类提供相应的 doXxx()方法,service方法中调用相应的doXxx()方法
程序员重写doXxx()方法 一般不重写service方法
13.HttpServletRequest
Request表示浏览器的请求(浏览器输入的些回车,表单点击提交按钮)请求获取的是浏览器的一些信息(请求头)
请求头常用方法
getHeader(String):获得给定名的头信息
getHeaderNames:获得请求所包含的所有头名
获取用户相关信息:
getRequesURL():获取请求的完整路径URL
Getparament():由键获取值
getMethod():获得请求的方法
getCookies():获得cookie信息
getScheme():获取协议
getServerName() 获取主机名
getServerPort() 获取服务器的端口
getContextPath() 获取上下文路径
getServletPath() 获取路径 中除上下文后的其他路径
getRequesURI() 获取请求的完整路径
14.HttpServletResponse
Http状态码:用于服务器将请求的状态传送给客户机
100-199: 临时状态码
200-299: 请求成功
300-399:重定向
400-499:客户端错误
500-599:服务器端错误
设置状态码的方法:
setStatus(int sc)
HttpServletResponse中静态变量定义Http状态码:
SC_OK 200
SC_MOVED_TEMPORARILY 302
SC_NOT_FOUND 404
SC_INTERNAL_SERVER_ERROR 500
设置响应头:setHeader(“name”,value);
常见响应报头
Content-Type:定义响应文档的MIME(Multipurpose Internet Mail Extension)类型,由maintype/subtype组成
有专门的方法设置该响应头:setContentType
response.setContentType(“text/html; charset=GBK ”);//最常见形式
response.setContenType(“application/vnd.ms-excel”);//excel文档
response.setHeader("Content-Type",
"application/vnd.ms-excel; charset=GBK");
response.setContenType(“image/jpeg”);//图形图像
重定向
方法一:
设置状态码,如302
设置响应头:location
方法二:
示例
sendRedirectresponse.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);response.setHeader("Location","http://www.csdn.net");response.sendRedirect("http://www.csdn.net");
页面重新刷新
response.setIntHeader(“Refresh”,10);
response.setHeader(“Refresh”,”10 ,url=http://www.csdn.net”);
15.Jetty和Tomcat比较
1.Jetty更轻量级。这是相对Tomcat而言的。
由于Tomcat除了遵循Java Servlet规范之外,自身还扩展了大量JEE特性以满足企业级应用的需求,所以Tomcat是较重量级的,而且配置较Jetty亦复杂许多。但对于大量普通互联网应用而言,并不需要用到Tomcat其他高级特性,所以在这种情况下,使用Tomcat是很浪费资源的。这种劣势放在分布式环境下,更是明显。换成Jetty,每个应用服务器省下那几兆内存,对于大的分布式环境则是节省大量资源。而且,Jetty的轻量级也使其在处理高并发细粒度请求的场景下显得更快速高效。
2.jetty更灵活,体现在其可插拔性和可扩展性,更易于开发者对Jetty本身进行二次开发,定制一个适合自身需求的Web Server。相比之下,重量级的Tomcat原本便支持过多特性,要对其瘦身的成本远大于丰富Jetty的成本。用自己的理解,即增肥容易减肥难。
3.然而,当支持大规模企业级应用时,Jetty也许便需要扩展,在这场景下Tomcat便是更优的。
16.Java生命周期
实例化(new)
Jvm会对对象进行初始化<init>调用构造器
Gc调用finalize对象进行清理完成后销毁对象
这篇关于Serlvet入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!