入职培训JAVAWEB编程初级课程_第1页
入职培训JAVAWEB编程初级课程_第2页
入职培训JAVAWEB编程初级课程_第3页
入职培训JAVAWEB编程初级课程_第4页
入职培训JAVAWEB编程初级课程_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVAWEB编程初级课程内容概述Tomcat介绍及安装与使用Servlet介绍及注意事项JSP介绍及语法与内置对象Taglib介绍与使用Tomcat介绍TomcatTomcat服务器是一个免费的开放源代码的Web应用服务器,一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用。Tomcat介绍Tomcat特点免费开源系统占用资源小,扩展性好部署简单Tomcat介绍主流中间件OracleWebLogic IBMWebSphereJBossTomcat安装压缩包版解压至任意目录压缩目录/bin目录双击startup.bat启动tomcat双击shutdown.bat关闭tomcatTomcat安装启动Tomcat成功Tomcat安装访问Tomcat:http://localhost:8080/Tomcat目录bin运行目录,存放启动、关闭等脚本conf配置目录,存放配置文件lib运行库目录,存放默认tomcat依赖jarlogs日志目录,存放tomcat运行日志temp临时目录,存放临时文件Tomcat目录webappsWeb应用目录,存放tomcat部署的应用work工作目录,存放编译jsp的classTomcat配置conf/context.xmltomcat上下文配置conf/server.xmltomcat服务器参数配置conf/tomcat-users.xmltomcat用户配置Tomcat配置Tomcat配置从MyEclipse中启动Tomcat从MyEclipse查看控制台日志Servlet介绍ServeltServlet是一种使用Java编写的CGI(CommonGatewayInterface,通用网关接口)程序。JavaApplet是运行在客户端(浏览器)的Java类,Servlet是运行在Web服务器上的Applet,主要用于处理Web请求,动态产生HTML页面。但是,Servlet没有运行界面,它与协议和平台无关,不受客户端的安全限制。Servlet为构建Web应用程序提供了一种基于组件的平台无关的方法,它可以使用所有的JavaAPI,包括可以访问企业级数据库的JDBCAPI,还可以访问特殊的HTTP库。Servlet具有所有Java语言的方便、可复用、安全性等优点。Servlet介绍Servelt特点(1)可移植性好。(2)高效。(3)功能强大。(4)方便。(5)可重用性。(6)模块化。(7)节省投资。(8)安全性。Servlet介绍Servelt工作原理Servlet

Helloworld新建工程

Servlet

Helloworld新建ServletServlet

Helloworld部署应用Servlet

Helloworld启动TomcatServlet

Helloworld访问地址http://localhost:8080/helloServlet/servlet/HelloServletServlet

HelloworldHelloServlet必须继承javax.servlet.http.HttpServlet实现doGet和doPost方法处理web.xml配置Servlet及请求地址Servlet注意事项地址映射/hello/*/hello.html/hello/hello.htmlHelloServlet多个名称映射同一Servlet只要保持<servlet-name>一致,就可以有多个ServletMapping。只要映射名称为“*”,就可以任意匹配。注意:要把<servlet><servlet-mapping>分别成对放在一起。Servlet注意事项<servlet-mapping><servlet-name>HelloServlet</servlet-name><url-pattern>/hello/hello.html</url-pattern></servlet-mapping>

<servlet-mapping><servlet-name>HelloServlet</servlet-name><url-pattern>/hello.html</url-pattern></servlet-mapping><servlet-mapping><servlet-name>HelloServlet</servlet-name><url-pattern>/hello/*</url-pattern></servlet-mapping>Servlet注意事项请求处理方法(分别对应http协议的7种请求)1.doGet响应Get请求,HTTP缺省方法就是GET,常用2.doPost响应Post请求,常用3.doPut用于HTTP1.1协议4.doDelete用于HTTP1.1协议5.doHead仅响应Get请求的头部6.doOptions用于HTTP1.1协议7.doTrace用于HTTP1.1协议Servlet注意事项获取初始化参数<servlet><servlet-name>HelloServlet</servlet-name><servlet-class>com.nantian.example.HelloServlet</servlet-class><init-param><param-name>param1</param-name><param-value>value1</param-value></init-param><init-param><param-name>param2</param-name><param-value>value2</param-value></init-param></servlet>publicvoidinit(ServletConfigconfig)throwsServletException{super.init(config);Stringparam1=config.getInitParameter("param1");System.out.println("param1="+param1);Stringparam2=config.getInitParameter("param2");System.out.println("param2="+param2);}Servlet注意事项

CGI变量:1.基于HTTP请求的行和头;2.来自于套结字3.来自于服务器的安装参数可以通过HttpServletRequest的相关方法来访问这些变量

CONTENT_TYPE—getContentType()

PATH_INFOgetPathInfo()

REMOTE_ADDRgetRemoteAddr()

QUERY_STRINGgetQueryString()

SERVER_NAMEgetServerName()

SERVER_PORTgetServerPort()Servlet注意事项南天培训教材系列-软件工程师技能培训(初级)版权所有(C)南天信息响应头说明Content-Encoding用于标明页面在传输过程中的编码方式。Content-Type用于设置servlet输出的MIME(MultipurposeInternetMailExtension)类型。在Tomcat安装目录下的conf目录下,有一个web.xml文件,里面列出了几乎所有的MIME类型和对应的文件扩展名。正式注册的MIME类型格式为maintype/subtype,如text/html、text/javascript等;而未正式注册的类型格式为maintype/x-subtype,如audio/x-mpeg等。Content-Language用于标明页面所使用的语言,例如en、en-us等。Expires用于标明页面的过期时间,可以使用这个来在指定的时间内取消页面存。Refresh这个报头表明浏览器自动重新调用最新的页面。设置Http相应头JSP介绍JSPJavaServerPages动态网页技术CGI(CommonGatewayInterface)ASP(ActiveServerPage)PHP(PersonalHomePage)JSP介绍JSP特点优良的性能平台无关性操作系统无关,Web服务器无关可扩展性Tag扩展,简化开发JSP

Helloworld新建工程JSP

Helloworld新建JSPJSP

Helloworld<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><basehref="<%=basePath%>"><title>MyJSP'helloWorld.jsp'startingpage</title><metahttp-equiv="pragma"content="no-cache"><metahttp-equiv="cache-control"content="no-cache"><metahttp-equiv="expires"content="0"><metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"><metahttp-equiv="description"content="Thisismypage"></head><body>页面:<%=request.getRequestURI()%><br>客户端IP:<%=request.getRemoteAddr()%><br></body></html>JSP

Helloworld访问地址http://localhost:8080/helloJsp/helloWorld.jspJSP语法声明语法<%!%>此处声明的变量、方法都会保留至JSP执行完成

<%! inti; publicvoidsetName(){……} %>JSP语法Scriptlet语法<%代码%>此处可以放任意java程序代码

<%for(inti=0;i<10,i++){……}%>JSP语法表达式语法<%=…%>此处放变量,表达式获取值

<%=“helloworld”%><%=i+1%><%=request.getParameter(“name”)%>JSP语法注释语法注释内容不执行

<%--……--%><%//……%><%/*……*/%>JSP语法JSP指令<%@指令属性=“属性值”%>指令的设定出了import外,不能重复指定属性的设定可以多个指令有如下格式:pageincludetaglib JSP语法JSP

page指定jsp页面属性<%@pagelanguage=“scriptlanguage”|extends=“className”|import=“importList”|buffer=“none|kbsize”|--none:不缓冲,默认8ksession=“true|false”|--是否可以使用session,默认trueautoFlush=“true|false”--缓冲器是否自动清除,默认trueisThreadSafe=“true|false”|info=“infoText”|--任何字符,可以通过Servlet.getServletInfo()取得errorPage=“errorPageUrl”|isErrorPage=“true|false”|contentType=“contentTyepInfo”%>JSP语法JSP

include将指定的JSP程序或者HTML文件包含进来格式:<%@includefile=“fileURL%>JSPEngine会在JSP程序的转换时期先把file属性设定的文件包含进来,然后开始执行转换及编译的工作。JSP语法JSP

taglib用来扩展JSP程序的操作指令格式:<%@tagliburi=“tagLibary”prefix=“prefix”%>JSP内置对象outOut内置对象是一个缓冲的输出流,用来给客户端返回信息。它是javax.servlet.jsp.JspWriter的一个实例典型应用:向客户端输出内容常用方法:println():向客户端输出各种类型数据newLine():输出一个换行符close():关闭输出流flush():输出缓冲区里的数据clearBuffer():清除缓冲区里的数据,同时把数据输出到客户端clear():清除缓冲区里的数据,但不把数据输出到客户端getBufferSize():返回缓冲区的大小JSP内置对象request调用JSP页面的请求。通常,request对象是javax.servlet.http.HttpServletRequest接口的一个实例典型应用:通过request.getParameter(“paramName”)可以获得Form提交过来的参数值JSP内置对象request常用方法:getMethod():返回客户端向服务器端传送数据的方法getParameter(StringparamName):返回客户端向服务器端传送的参数值,该参数由paramName指定getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举类型数据(Enumeration)getParameterValues(Stringname):获得指定参数的所有值,由name指定getRequestURI():获得发出请求字符串的客户端地址getRemoteAddr():获取客户端的IP地址getRemoteHost():获取客户端机器名称getServerName():获取服务器的名字getServletName():客户端所请求的脚本文件路径getServerPort():获取服务器端的端口JSP内置对象response表示的是返回给客户端的响应javax.servlethttp.HttpServletResponse接口的一个实例经常用于设置HTTP标题,添加cookie、设置响应内容的类型和状态、发送HTTP重定向和编码URLJSP内置对象response常用方法addCookie(Cookiecookie):添加一个Cookie对象,用于在客户端保存特定的信息addHeader(Stringname,Stringvalue):添加HTTP头信息,该Header信息将发送到客户端containsHeader(Stringname):判断指定名字的HTTP文件头是否存在sendError(int):向客户端发送错误的信息sendRedirect(Stringurl):重定向JSP文件setContentType(StringcontentType):设置MIME类型与编码方式JSP内置对象pageContext页面上下文,通常javax.servlet.jsp.PageContext的实例常用方法:getRequest()getResponse()getServletConfig()getServletContext()JSP内置对象session会话,通常是javax.servlet.http.HttpSession的实例常用方法:voidsetAttribute(Stringname,Objectvalue)ObjectgetAttribute(Stringname)booleanisNew()JSP内置对象applicationapplication对象是一个对web应用有效的全局变量,通常是javax.servlet.ServletContext的实例常用方法:getAttribute()/setAttribute()log()getRealPath(“…")JSP内置对象configServlet配置,通常是ServletConfig实例常用方法:getInitParameter(…)JSP内置对象exceptionexception对象是Throwable的实例,表示的是JSP的异常信息如果要使用它,必须将对应的JSP的page指令的isErrorPage属性设置成trueJSP内置对象page页面对象,即jsp经过jsp引擎转换的class的对象Taglib介绍Taglib优点JSP内置标签<jsp:include>与<jsp:param><jsp:forward>与<jsp:param><jsp:usebean><jsp:getproperty><jsp:setproperty>JSP内置标签<jsp:include>与<jsp:param>用于动态包含JSP程序或HTML文件等除非这个指令会被执行到,否则它是不会被Tomcat等JSPEngine编译。如果include的是jsp文件,那它不会被转换成Servlet文件JSP内置标签格式:<jsp:includepage=“URLSpec”flush=“true”/><jsp:includepage=“URLSpec”flush=“true”> <jsp:paramname=“ParamName”value=“paramValue”/> </jsp:include>jsp:param用来设定include文件时的参数和对应的值include编译指令是在JSP程序的转换时期就将file属性所指定的程序内容嵌入,然后再编译执行;而include指令在转换时期是不会被编译的,只有在客户端请求时期如果被执行到才会被动态的编译载入JSP内置标签<jsp:forward>用于将一个jsp的内容传送到page所指定的JSP程序或者Servlet中处理格式:<jsp:forwardpage=“urlSpec”flush=“true”/><jsp:forwardpage=“urlSpec”> <jsp:paramname=“paramName”value=“paramValue”/> </jsp:forward><jsp:param>用于指定参数和其对应的值与<jsp:include>不同的是,forward处理完后会直接将结果返回给客户端,而include还会继续处理“主”Jsp中的内容JSP内置标签<jsp:usebean>通过jsp:useBean,可以在JSP中使用定义好的BeanBean的基本要素:放在一个包(package)中必须要有一个不带参数的构造器。在JSP中使用useBean创建Bean时会调用不带参数的构造器Bean类应该没有任何公共实例变量,也就是说,不允许直接访问实例变量,

变量名称首字母必需小写通过getter/setter方法来读/写变量的值,并且将对应的变量首字母改成大写JSP内置标签<jsp:usebean>基本用法 <jsp:useBeanid=“beanName” scope=“page|request|session|application” class=“package.BeanClass” type=“TypeName”|beanName=“BeanName” type=“BeanName”|type=“TypeName”/> <jsp:useBean…> <jsp:setProperty…> <jsp:getProperty…> </jsp:useBean>JSP内置标签<jsp:usebean>参数定义id:对象实例名称scope:Bean作用的范围,默认为page,对整个jsp页面有效class:Bean类名称beanName:Bean的名称type:Bean实例类型,可以是本类,或其父类,或其实现的接口,默认为本类JSP内置标签<jsp:usebean>Scope各项参数的意义page:仅涵盖使用JavaBean的页面request:有效范围仅限于使用JavaBean的请求session:有效范围在用户整个连接过程中(整个会话阶段均有效)application:有效范围涵盖整个应用程序。也就是对整个网站均有效JSP内置标签<jsp:setProperty><jsp:setPropertyname=“beanName”property=“propertyName”|property=“*”value=“propertyvalue”|param=“paramName”/>相当于beanName.setPropertyName(value)方法调用(setXxx()方法)JSP内置标签<jsp:setProperty>设置属性的方法有如下四种:<jsp:setPropertyname=“myBean”property=“*”/>:自动匹配<jsp:setPropertyname=“myBean”property=“myProperty”/>:可以根据自己的需要设置需要的属性值<jsp:setPropertyname=“myBean”property=“myProperty”param=“ParamName”/>:可以根据自己的需要,任意选择传递的参数<jsp:setPropertyname=“myBean”property=“myProperty”value=“MyValue”/>:根据用户需要,自己设置参数的值,如果输入的值是一个变量,则需要用表达式输出。JSP内置标签<jsp:getProperty><jsp:getPropertyname=“beanName”property=“propertyName”/>相当于beanName.getPropertyName()方法调用(getXxx()方法)Taglib介绍JSTL标签 JSP标准标记库(JSPStandardTagLibrary,JSTL)是一个实现Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML操作以及数据库访问。Taglib介绍新建JSTL支持工程Taglib介绍JSTL

HelloWorld<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%@tagliburi="/jsp/jstl/core"prefix="c"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><title>MyJSP'index.jsp'startingpage</title></head>

<body><c:iftest="${1+1==2}">Alwaystrue.</c:if><br/><c:iftest="${param.xxx=='xxx'}">

传递参数xxx等于xxx</c:if><br/><c:setvar="message"value="Helloworld!"/><c:outvalue="${message}"/><br/><c:outvalue="${param.xxx}"/><br/></body></html>Taglib介绍<c:if>逻辑条件判断test属性:判断条件var属性:保存至变量scope:保存变量作用域Taglib介绍<c:out>显示内容属性说明value要显示的值必填default如果value为null,显示的默认值escapeXml是否转换特殊字符,如<转换为<默认值:trueTaglib介绍<c:set>设置变量属性说明value设置的值var保存成变量名scope变量作用域默认:pagetargetJavaBean或者Map对象propertytarget的属性名Taglib介绍实例1:将变量设置到Jsp范围内,并输出<%--将变量定义在Jsp范围内--%><%--value属性的两钟使用方式--%><c:setvar="username"value="jack"scope="session"/><c:setvar="pwd"scope="session">000</c:set><%--通过el表达式语言输出--%>${sessionScope.username}${sessionScope.pwd}<%--通过jstl中<c:out>标签输出--%><c:outvalue="${sessionScope.username}"/>

实例2:将变量设置到javaBean对象内,并输出<jsp:useBeanid="stu"class="net.pcedu.student"/><%--通过<c:set>标签给javaBean对象的age属性设值--%><c:setvalue="16"target="${stu}"property="age"/><%--输出javaBean对象的属性值--%>年龄:<c:outvalue="${stu.age}"/>Taglib介绍<c:remove>删除变量属性说明var删除变量名scope变量作用域默认:pageTaglib介绍<c:if>条件判断输出标签内容属性说明test判断条件var保存判断结果至变量名scope变量作用域默认:pageTaglib介绍<%--定义一个javaBean对象--%><jsp:useBeanid="stu"class="net.pcedu.student"/><%--通过<c:set>标签给javaBean对象的age属性设值--%><c:setvalue="16"target="${stu}"property="age"/><%--输出javaBean对象的属性值--%>年龄:<c:outvalue="${stu.age}"/><%--当if判断为true时,输出标签体的内容--%><c:iftest="${stu.age<18}"var="young"scope="session">对不起,未成年,不能访问这个网站...</c:if><%--输出if语句的判断结果--%>判断结果:<c:outvalue="${sessionScope.young}"/>Taglib介绍<c:choose>、<c:when><c:otherwise>条件判断属性说明test判断条件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论