《java-web基础总结》由会员分享,可在线阅读,更多相关《java-web基础总结(102页珍藏版)》请在金锄头文库上搜索。
1、一、Servlet1、Servlet概述1.1 B/S架构(了解)1)什么是B/S架构客户端使用浏览器,服务端使用web浏览器,客户端跟服务器之间使用HTTP协议进行通讯。2)优点客户端不需要单独安装(因为使用浏览器);C/S架构比较麻烦的是需要单独安装每个客户端,并且一旦客户端版本发生改变,就需要再次安装。开发相对简单;C/S架构需要我们分别在,客户端和服务器端编写相应的通信处理模块和自定义协议,而B/S架构使用标准的HTTP协议(即不再需要自定义协议),而且浏览器与Web服务器已经包含了相应的通信模块了。1.2 什么是ServletSun公司制订的一种用来扩展Web服务器功能的组件规范。1
2、)扩展web服务器功能早期(2000年左右)的Web服务器:apache的web server、微软的iis。只能够处理静态资源(即需要事先将html文件写好),不能够处理动态资源的请求(即需要依据请求参数然后进行计算,生成相应的页面)。为了让这些web服务器能够处理动态资源的请求,需要扩展他们的功能。早期使用的是CGI技术(Common Gateway Interface通用网关接口),可以使用很多语言编写,如perl,C/C+等来开发CGI程序。但是CGI程序有几个问题,比如开发比较复杂(因为需要程序员自己去分析请求参数)、性能不佳(因为当Web服务器收到请求之后,会启动一个CGI进程来处
3、理请求)、CGI程序依赖平台(可移植性不好)。现在,可以使用Servlet来扩展。当浏览器将请求发送给Web服务器(比如:apcahe的web server),Web服务器会向Servlet容器发送请求,Servlet容器负责解析请求数据包。当然,也包括网络通讯相关的一些处理,然后将解析之后的数据交给Servlet来处理(Servlet只需要关注具体的业务处理,不用关心网络通讯相关的问题)。注意事项:可以不使用服务器,而直接向Servlet容器发送请求,因为Servlet容器里面也有个通信模块,所以也可直接把Servlet容器当作简单的Web服务器来使用。2)组件规范组件:是符合一定规范,并且
4、实现部分功能的可以单独部署的软件模块。组建必须要部署到容器里面才能运行。容器:也是符合一定规范,并且提供组件的运行环境的程序。注意事项:单个的组件、单个的容器都是没意义的,都不能单独运行,需要放在一起才能运行。1.3 什么是TomcatTomcat本身是一个Servlet容器,即可以提供Servlet运行环境的一个程序,但是Tomcat还提供了Web服务器所具有的所有功能,所以我们也称Tomcat是一个Web服务器。Tomcat的默认端口是8080。1)安装Tomcat(www.apache.org下载)Linux系统下安装和配置的步骤step1:解压到/home/soft01下step2:配
5、置环境变量cd /home/soft01vi .bash_profileJAVA_HOME:jdk的主目录CATALINA_HOME:tomcat的主目录PATH:CATALINA_HOME/binstep3:启动Tomcatcd /home/soft01/tomcat主目录/binsh startup.sh或者sh catalina.sh run接下来,可以打开浏览器,输入 http:/localhost:8080,验证是否配置成功。step4:关闭Tomcatcd /home/soft01/tomcat主目录/binsh shutdown.shWindows系统下安装和配置的步骤step1
6、:解压到某个盘下step2:配置环境变量JAVA_HOME(JDK的主目录) 必须配置CATALINA_HOME(Tomcat的主目录)可以不配置PATH(Tomcat的bin目录)可以不配置“我的电脑”右键“属性”,打开“系统属性”的“高级”选项卡,找到“环境变量。新建“用户变量”。新建JAVA_HOME。注意事项:新建系统变量或新建用户变量均可,建议新建用户变量。新建CATALINA_HOME (可以不配置)。新建PATH(可以不配置)。注意事项:如果环境变量中已经有PATH,修改该PATH即可,使用“;”分号作分隔,如下所示:PATH C:Program FilesJavajdk1.6.
7、0_06bin ;D:apache-tomcat-5.5.23binWindows操作系统下以“;”分号为分隔符;linux系统下以“:”冒号为分隔符。step3:启动Tomcat进入启动Tomcat的bin目录下,双击“startup.bat”。接下来,可以打开浏览器,输入 http:/localhost:8080,验证是否配置成功。step4:关闭Tomcat进入启动Tomcat的bin目录下,双击“shutdown.bat”。2)Tomcat目录结构简介bin目录:存放启动和关闭服务器的一些脚本(命令)。common目录:共享(部署在该服务器上的所有程序都可以使用)的一些jar包。con
8、f目录:存放服务器的一些配置文件。webapps目录:部署目录。work目录:服务器运行时,生成的一些临时文件。1.4 如何写一个Servlet(不使用开发工具)step1:先写一个Java类,实现Servlet接口或者继承HttpServlet抽象类。public class HelloWorldServlet extends HttpServlet /Tomcat会自动调用service,自己不用再去写方法调用了,所以必须把名字写对!public void service(HttpServletRequest request,HttpServletResponse response) th
9、rows ServletException,IOException/异常必须写两个,不能写成Exception,也不能再多个异常/设置一个消息头content-type,告诉浏览器返回的数据类型是一个html文档,以及编码格式。此外,还可以告诉服务器,在使用out输出时,使用指定的编码格式进行编码response.setContentType(text/html;charset=utf-8);/通过响应对象,获得一个输出流PrintWriter out=response.getWriter();/调用流的方法进行输出,其实质是将处理结果写到了response对象上out.println(Hel
10、lo World);/* out.close()不调用也可以,因为Servlet方法执行完毕,容器会自动调用out.close方法*/out.close(); step2:执行编译操作:javac -d . HelloWorldServlet.java但是会报错,找不到某些类!其中 -d . 代表把编译后的文件放在当前文件夹下。把Tomcat安装目录中common中lib中的servlet-api.jar和刚编写类放一起(是编译时需要用的jar)。再次编译:javac -cp servlet-api.jar -d . HelloWorldServlet.java,其中 -cp servlet-
11、api.jar表示告诉Java编译器去哪里找需要的class文件(到servlet-api.jar的jar包中找)。step3:打包,即创建一个具有如下结构的文件夹:appname(文件夹名起应用名)|WEB-INF(必须大写)classes(文件夹,放.class文件)lib(文件夹,放.jar文件,可没有)web.xml(部署描述文件 url-pattern)将编译好的.class文件放入classes文件夹中(如有包,则一起放入)。web.xml文件内容:web-app version=2.4 xmlns=http:/ xmlns:xsi=http:/www.w3.org/2001/XM
12、LSchema-instance xsi:schemaLocation=http:/ http:/ 使用MyEclipse开发Servletstep1:配置MyEclipse,使得MyEclipse能够管理Tomcat。1)点击工具栏上的“Run/Stop/Restart MyEclipse Servers”图标旁边的下拉箭头,选择“Configure Server”。2)在弹出的对话框“Preferences”中展开“MyEclipse”-“Servers”-“Tomcat”-“Tomcat5.X”注意事项:选择你目前电脑上Tomcat的版本,此处以Tomcat5为例。3)将Tomat se
13、rver选项置为“Enable”(默认为“Disable”)。4)点击“Tomcat home directory”之后的“Browse”按钮,选择Tomcat主目录,确定,然后“Tomcat base directory”和“Tomcat temp directory”自动生成,点击“OK”。注意事项:两项可改可不改的:Tomcat下的JDK-“Tomcat JDK name”是自己已安装的JDK(Tomcat也是java写的也得依赖JDK)。建议Tomcat下的Launch-“Tomcat launch mode”设置为Run model,默认为Debug mode而该模式在有些时候会显示不正常。5)回到工具栏上的“Run/Stop/Restart MyEclipse Servers”图标旁边的下拉箭头,选择Tomcat 5.x,点击“Sta