javaweb开发入门.docx
- 文档编号:26272590
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:15
- 大小:573.08KB
javaweb开发入门.docx
《javaweb开发入门.docx》由会员分享,可在线阅读,更多相关《javaweb开发入门.docx(15页珍藏版)》请在冰豆网上搜索。
javaweb开发入门
1WEB开发的相关知识、
●WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。
●Internet上供外界访问的Web资源分为:
•静态web资源(如html页面):
指web页面中供人们浏览的数据始终是不变。
•动态web资源:
指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
●静态web资源开发技术
•Html
●常用动态web资源开发技术:
•JSP/Servlet、ASP、PHP等
•在Java中,动态web资源开发技术统称为Javaweb,我们课程的重点也是教大家如何使用Java技术开发动态的web资源,即动态web页面。
WEB服务器
●学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。
●疑问:
学习web开发,为什么必须要先装一个WEB服务器。
常见WEB服务器
●WebLogic是BEA公司的产品,是目前应用最广泛的Web服务器,支持J2EE规范,而且不断的完善以适应新的开发要求,启动界面如图
●另一个常用的Web服务器是IBM公司的WebSphere,支持J2EE规范,启动界面如图
●在小型的应用系统或者有特殊需要的系统中,可以使用一个
免费的Web服务器:
Tomcat,该服务器支持全部JSP以及
Servlet规范,启动界面如图
●Tomcat官方站点:
http:
//jakarta.apache.org
●获取Tomcat安装程序包
✓tar.gz文件是Linux操作系统下的安装版本
✓exe文件是Windows系统下的安装版本
✓zip文件是Windows系统下的压缩版本
●安装Tomcat
●双击bin目录下的startup.bat文件
●输入http:
//localhost:
8080/,显示如下界面代表安装成功
常见启动问题
●Java_home环境变量
•在windows中设置java_home环境变量
•只要在setclasspath.bat批处理文件第一次使用JAVA_HOME环境变量之前的任何地方,将JAVA_HOME环境变量设置为JDK的主目录,就可以使用startup.bat文件启动Tomcat了。
●端口占用问题
●Catalina_home环境变量的设置问题
Tomcat目录结构
2servlet
●Servlet是sun公司提供的一门用于开发动态web资源的技术。
●Sun公司在其API中提供了一个servlet接口,用户若想使用Java程序开发一个动态web资源,只需编写一个servlet接口的实现类,并把这个类部署到web服务器中,就算开发好了一个动态web资源。
按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet
Servlet开发快速入门
在Eclipse中开发Servlet
WEB应用程序
●WEB应用程序指供浏览器访问的程序,通常也简称为web应用。
●一个web应用由多个静态web资源和动态web资源组成,如:
•html、css、js文件
•Jsp文件、java程序、支持jar包、
•配置文件
•……
●Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
WEB应用的组成结构
web.xml文件
●通过web.xml文件,可以将web应用中的:
•某个web资源配置为网站首页
•将servlet程序映射到某个url地址上
•……
•但凡涉及到对web资源进行配置,都需要通过web.xml文件
●举例:
通过web.xml文件配置网站首页。
●注意:
Web.xml文件必须放在web应用\WEB-INF目录下。
虚似目录的映射方式
●在server.xml文件的host元素中配置,例如:
●在Tomcat6中,不再建议在server.xml文件中配置context元素,细节查看tomcat服务器关于context元素的说明。
●让tomcat自动映射:
tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。
换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问。
context元素常用属性
配置虚似主机
●配置虚似主机就是配置一个网站。
●如需在WEB服务器中配置一个网站,需使用Host元素进行配置,例:
\app”> ●配置的主机(网站)要想被外部访问,必须在DNS服务器或windows系统中注册。 ●配置多个网站。 ●缺省虚似主机。 Tomcat体系架构 WEB开发的前景 什么是HTTP协议 ●客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。 ●使用telnet程序连上web服务器,并使用HTTP协议获取某个页面,以快速了解HTTP协议的作用。 ●利用一些浏览器的插件可以查看Http协议的详细内容(如IE的HttpWatch,火狐的firebug,Ghrome自带工具)。 Tip2: HTTP协议简介 ●HTTP是hypertexttransferprotocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。 ●HTTP协议是学习JavaWEB开发的基石,不深入了解HTTP协议,就不能说掌握了WEB开发,更无法管理和维护一些复杂的WEB站点。 ●HTTP协议的版本: HTTP/1.0、HTTP/1.1 telnet工具 、格式: telnetip地址端口 如: telnet191.168.7.118080 2、CRTL+],然后回车 3、这时可以输入请求命令 Tip3: HTTP1.0和HTTP1.1的区别 ●在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。 ●HTTP1.1协议,允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。 ●使用telnet举例说明。 ●一个好多同学搞不清楚的问题: •一个web页面中,使用img标签引用了三幅图片,当客户端访问服务器中的这个web页面时,客户端总共会访问几次服务器,即向服务器发送了几次HTTP请求。 ●Web服务器通过客户端发送过来的这些请求信息,就可以确定向请求者回送什么资源,以及根据客户端的环境信息采用什么方式进行回送等。 2HTTP请求 ●客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。 一个完整的HTTP请求包括如下内容: 一个请求行、若干请求头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。 如下所示: HTTP请求的细节——请求行 ●请求行中的GET称之为请求方式,请求方式有: POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT 常用的有: POST、GET ●不管POST或GET,都用于向服务器请求某个WEB资源,这两种方式的区别主要表现在数据传递上,客户端通过这两种方式都可以带一些数据给服务器: •如请求方式为GET方式,则可以在请求的URL地址后以? 的形式带上交给服务器的数据,多个数据之间以&进行分隔,例如: GET/mail/1.html? name=abc&password=xyzHTTP/1.1 GET方式的特点: 在URL地址后附带的参数是有限制的,其数据容量不能超过1K。 ●如请求方式为POST方式,则可以在请求的实体内容中向服务器发送数据,例如: POST/servlet/ParamsServletHTTP/1.1 Host: Content-Type: application/x-www-form-urlencoded Content-Length: 28 name=abc&password=xyz Post方式的特点: 传送的数据量无限制。 HTTP请求的细节——请求头 ●用于HTTP请求中的常用头 Accept: text/html,image/* Accept-Charset: ISO-8859-1 Accept-Encoding: gzip,compress Accept-Language: en-us,zh- Host: www.it315.org: 80 If-Modified-Since: Tue,11Jul200018: 23: 51GMT Referer: http: //www.it315.org/index.jsp User-Agent: Mozilla/4.0(compatible;MSIE5.5;WindowsNT5.0) Cookie: Connection: close/Keep-Alive Date: Tue,11Jul200018: 23: 51GMT 3HttpServletRequest ●HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。 Request常用方法 ●获得客户机信息 •getRequestURL方法返回客户端发出请求时的完整URL。 •getRequestURI方法返回请求行中的资源名部分。 •getQueryString方法返回请求行中的参数部分。 •getPathInfo方法返回请求URL中的额外路径信息。 额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。 •getRemoteAddr方法返回发出请求的客户机的IP地址 •getRemoteHost方法返回发出请求的客户机的完整主机名 •getRemotePort方法返回客户机所使用的网络端口号 •getLocalAddr方法返回WEB服务器的IP地址。 •getLocalName方法返回WEB服务器的主机名 Request常用方法 ●获得客户机请求头 •getHeader方法 •getHeaders方法 •getHeaderNames方法 ●获得客户机请求参数(客户端提交的数据) •getParameter方法 •getParameterValues(Stringname)方法 •getParameterNames方法 getParameterMap方法 request常见应用 ●获取浏览器类型 ●防盗链 ●各种表单输入项数据的获取 •text、password、radio、checkbox、 •file、select、textarea、hidden、 •image、button给js编程用 ●请求参数的中文乱码问题 HTTP响应 ●一个HTTP响应代表服务器向客户端回送的数据,它包括: 一个状态行、若干响应头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。 HTTP响应的细节——状态行 ●状态行 格式: HTTP版本号 状态码 原因叙述 举例: HTTP/1.1200OK ●状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数。 响应状态码分为5类,如下所示: HTTP响应细节——常用响应头 ●HTTP请求中的常用响应头 •Location: http: //www.it315.org/index.jsp •Server: apachetomcat •Content-Encoding: gzip •Content-Length: 80 •Content-Language: zh-cn •Content-Type: text/html;charset=GB2312 •Last-Modified: Tue,11Jul200018: 23: 51GMT •Refresh: 1;url=http: //www.it315.org •Content-Disposition: attachment;filename=aaa.zip •Transfer-Encoding: chunked •Set-Cookie: SS=Q0=5Lb_nQ;path=/search •Expires: -1 •Cache-Control: no-cache •Pragma: no-cache •Connection: close/Keep-Alive •Date: Tue,11Jul200018: 23: 51GMT HTTP请求的细节—通用信息头 ●通用信息头指既能用于请求,又能用于响应的一些消息头。 •Cache-Control: no-cache •Pragma: no-cache •Connection: close/Keep-Alive •Date: Tue,11Jul200018: 23: 51GMT HttpServletResponse对象 ●Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。 ●request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。 要向客户机输出数据,只需要找response对象就行了。 ●HttpServletResponse对象服务器的响应。 这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法。 response常见应用 ●案例1: 302+location实现重定向 ●案例2: 使用Refresh实现定时跳转 ●案例3: 使用content-Type实现向浏览器输出图片 ●案例4: 文件下载功能 ●案例1: 302+location实现重定向 ●案例2: 使用Refresh实现定时跳转 ●案例3: 使用content-Type实现向浏览器输出图片 ●案例4: 文件下载功能 请求重定向的运行流程 ●getOutputStream和getWriter方法分别用于得到输出二进制数据、输出文本数据的ServletOuputStream、Printwriter对象。 ●getOutputStream和getWriter这两个方法互相排斥,调用了其中的任何一个方法后,就不能再调用另一方法。 ●Servlet程序向ServletOutputStream或PrintWriter对象中写入的数据将被Servlet引擎从response里面获取,Servlet引擎将这些数据当作响应消息的正文,然后再与响应状态行和各响应头组合后输出到客户端。 ●Serlvet的service方法结束后,Servlet引擎将检查getWriter或getOutputStream方法返回的输出流对象是否已经调用过close方法,如果没有,Servlet引擎将调用close方法关闭该输出流对象。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaweb 开发 入门
![提示](https://static.bdocx.com/images/bang_tan.gif)