月3日笔记JavaWeb由java程序开发运行在服务器上一个_第1页
月3日笔记JavaWeb由java程序开发运行在服务器上一个_第2页
月3日笔记JavaWeb由java程序开发运行在服务器上一个_第3页
月3日笔记JavaWeb由java程序开发运行在服务器上一个_第4页
月3日笔记JavaWeb由java程序开发运行在服务器上一个_第5页
已阅读5页,还剩19页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

JavaWebjavaWebjavaSorket程序。web技术:Webwebweb服务器。web 一、jspservletJSP(JavaServerPages)SunWeb应用的一项技术。个领域中。在国内,JSP现在也得到了比较广泛的重视,得到了很好的发展,越来越多的站开始采用JSP技术。简单来说,在HTML页面中加入java代码片段和JSP,就构成了JSP页Servlet是在服务器上运行的类文件,由服务器进行调用。调用的过程是:由客户Index.jsp1Servletsrc下面创建一个包,com.guigu.servletMyServletHttpServletServlet.jar包中。Servletprotectedvoidprocess(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{//TODOAuto-generatedmethodstubPrintWriterout=resp.getWriter();out.println("<html><head><title>MyFirstServlet</title></head>");out.println("<body><h1>oWorld</h1>");out.println(newSystem.out.println(""+newDate().toLocaleString());}servletweb.xmlServlet生成静态页面的流程,首先由客户端(浏览器)发出一个请求,表示要请行的是MyServlet.classServlet进行交互的,是由服务servlet。这就是请求、响应模式。2JSP由此我们可以得到的结论是:servletjsp同样也能完成,反过来说,html的java类,jsp是嵌套了java代码片段的html文件。3Servletrequest来获取信息,requestJSPServlet的功能。请求方式:getpost方式的区别:敏感程度:get方式对于提交的;post方式对于提交的提交的信息在请求体中。getgetiso8859-1name=newString(name.getBytes("iso8859-1"),"UTF-4JSPServletJSPServletjavaClass类文件,然后被服务器调用,ServletClass类文件,然后由服务器调用。验证JSP是否是Servlet文件,在Tomcat应用的临 中大家可以看到5JSPJSPrequestJSPnew的方式生成一个也不需要JSP中已经存在。request对应的就是用户的一个请求,JSP9个默认对象。指令:<%@pagelanguage=”java”pageEncoding=”UTF-8”<%@pageimportCalendarca=%>早上好}elseif(12<hour&&%>下午好<%}else{晚上好6.和服务端交互的三种方式:1.地址栏2.超3.表二、JSPjsp在html网页中加入java代码片段、和JSP就构成了JSP网页JSP网页。JSPJavaServerPagesjavaServletJSP可以看做是HTML语法的扩展,加入了新的<%%>,在这个中可以进行代码块的书写,要与<%=%>强大的组件(JavaBean)Jsp<%@pagelanguage="java"pageEncoding="UTF-<%@pageimport=”java.util.*”javajava<%@pagelanguage="java"pageEncoding="UTF-<%@page}JSP深入理解JSP的执行过程:首先根据请求,服务器端来查找对应的JSP文件,如果404错误(请求的资源不存在,如果存在则进行判断是否是修改或创建后ServletServletclassclass类文件将结果返回到客户端。如果classclass类文件。JSPJSP原始代码中包含了JSP元素和Temte(模版)date两类。Temtedata是指JSP引擎不处理的部分,即标记HTML的内容等,这些内容会直接传送到客户浏览器端。JSPJSPjava语范,否则会导致编译错误。Jsp例子:<%@pagelanguage="java"pageEncoding="UTF-<%@page ————Temtedata模版元当前数字为 ————JSP元}JSP1、编译器指令(directive),例如:<%@pageimport=”java.util.*”%>; %>例如:<%java代码%>;语法包括:1、html注释,comments,可以发送到客户端,我们在客户端查看文件源码的时候能够可以看的到;2、隐藏注释<%--comments--%>,是java的注释,3、,4、表达式,5、段,includepagetaglib<%@%>里,两个主要指令是page和includePag<%@page[language=”java”]1、language=”java”,目前我的语言使用哪种语言来进行编写,目前只能exception对象。3、4Page指令详细说明:<%@page%>JSP页面,可以在一个页面中用上多个<%@page%>import属性。Importjavaimport语句,所以可以使用多次。<%@page%>JSP页面的最上面。include包含指令:向当前页面插入一个静态页面内容,JSP<%@includefile=”relativeURL”%>relativefile的作用就是里面会有一些自定义的库,会用到taglib的一些属性,JSP语法格式为:<%@tagliburi=”URITagLibrary”prefix=”tagPrefix”%>,作用的就是引入定制库。两个属性uri=”URITagLibrary”,可以是一个相对或路径,可以是库描述其中parse就是uri,cool就表示一个,parse就类似于我们学过的xml中命名动作语法包括:<jsp:forward>,<jsp:include>,其中<jsp:useBean>Jsp2、<jsp:forwardpage={“relativeURL”|”<%=expression%>”}> Jsp的一个跳转指令,执行到此的时候,表示跳转到其他的页面URLJSP或程序段。<jsp:paramname=”parameterName”value=”parameterValue|<%=expression%>”/>向一个动态文件传递一个或多个参数,name指定参数名,value指定参数值。<%@pagelanguage="java"pageEncoding="UTF-<html><head><title>forward跳转<jsp:paramname=”userName”<%@pagelanguage="java"pageEncoding="UTF-<html><head><title>forward跳转—跳转页面跳转后的页面,获取参数信息Jsp1、<jsp:includepage={“relativeURL”|”<%=expression%>flush=”true”2、<jsp:includepage={“relativeURL”|”<%=expression%>”}flush=”true”> <%@pagelanguage="java"pageEncoding="UTF-<html><head><title>include包含<jsp:include<jsp:paramname=”userName”<%@pagelanguage="java"pageEncoding="UTF-被包含的页面,获取参数信息JSPjavajava代码片段,javajavaJSPjava<%=expession%>JSP页面中进行显示的内容,前面的“=”号,紧跟随者看到的不是experssion表达式内容,而是执行后的内容。例如:<%int:JSP语法格式如下,declaration;[declaration;]…%><%@pagelanguage=”java”<head><title><body><%!intx=1;%><%!inty=2;%><%!inta,b,c;%><%!Date位置在:tomcat下的worktomcatJSPServlet文件。JSP表达式:在页面上用于输出信息,语法格式为:<%=experssion%>JSP段:JSP语法格式如下,<%java代码片段%>,例如}JSPJSP9个内置对象:request请求对象,response响应对象,out输出对象,pageContext页面上下文对象,session会话对象,application应用程序对象,config配置对象,page页面对象,exception对象。JSPRequestResponse最常用的式。此对象常用的方法有getParameter(),getParameterNames()Responseresponse对象来组织发送out这个对象。Reuqest<formaction=”…”<inputtype=”text”<inputtype=”submitvalue=”提交获取方式:Stringusernamerequest.getParameter(“username”);1request.getAttribute("user");3request.getSession();5request.setAttribute("key",objValue);7Stringfav[]=request.getParameterValues("参数");注意:在进行转发时,使用equet.tequetDicher("./indraequet,e方法处理时与使用<jsp:ra动作语法有所区别,使用equet中的tequetDiche)方法转发时,后面的代码仍然会继续执行,而使用<ra>动作语法时,后面的代码将不会再执行。13response.sendRedirect("./logok.jsp");5、response.getOutputStream();()response对象进行重定向时,response.sendRedirect("./logok.jsp");后面的代码重定向的方式:1.a SessionJSP页面中保留的情况会使用该对象。比如购物车功能。Webhttphttp协议是一个无状态的协议,web服务器对每一个客户的请求都没有进行,使用session来保存客户端的状态,就打破了这种无状态Session<form用户登录:<inputtype=”textname=”username”Session.jspStringusername=request.getParameter(“username”);登录名称<%=username%>session会话中check_session.jsp文件Stringusername=关闭浏览器之后,再直接check_session.jsp页面,会发现已经获取不到session会话中的信息,在表面上看来我们关闭浏览器session会话就跟着一样,实际上则不然,2session.getAttribute("user");34、session.getServletContext() 5、session.isNew()applicationAppliactionApplication是个全局对象,它的范围是最大的,范围从小到大分别是:request,session,application.log(“addmessagetolog_file”);2:applicationintcount=Integer.parseInt(num);}1、 全局对3application.getRealPath("/");Out个由程序动态生成的HTML文件。常用的方法除了print()和println()之外还有clear(),pageContext页面上下文对象,代表的是当前页面运行的一些属性。常用的方法是findAttribute(),getAttribute(),getAttributesScope(),getAttributeNamesInScope(,一般情况下pageContext对象用到的也不是很多,只有在项目的情况比较复杂的情况下,才会利用到页面属性来辅助处理。Servlet容器会使用该对象。configgetInitParameterServletPageJSPExceptionJSPJSP文件中使用,只能在使用了<%@pageisErrorPage=”true”%>JSP文件中使用。Servlet引擎给出一个客户name2session示例<form用户登录:<inputtype=”textname=”username”Stringusername=request.getParameter(“username”);<form用户登录:<inputtype=”textname=”user”Stringuser=request.getParameter(“user”);requestusersessionusername内置对象小结:熟练掌握这几种内置对象是开发JSP应用程序的基本要求,尤其是对request对象、sessionapplication对象更是必须要掌握的。会使用对象所具有的了解JavaBean的概念、规范、掌握JSPJavaBean的方法,理解JavaBean的四种JavaBean如:逻辑运算,操作数据库的JavaBean。JSP通常的是后一种JavaBean。能力的要求。JSP侧重于生成页,事务处理由JavaBean来完成,这样可以充分利用JavaBean组件的可重用性的特点,提高开发的效率。setXXXgetXXX的方式获得属性。publicclassCounterBean{publicCounterBean(){}intcount=0;publicvoidsetCount(intcount){this.count=count;}publicintgetCount(){returncount;}}JSPJavaBean的语1、JavaBean对示例:通过<jsp:useBean>来JavaBean对象,例<jsp:useBeanid=”myBean_1”class=”com.guigu.myBean.ClassBean”scope=”sessionScopeBeansession级别。2、JavaBean属id=”beanInstatceName”标识名,是对象的,类似java中一个类的变量名例如ClassBeancb=newClassBean(); cb等同于beanInstatceName。Bean的变量,使之能在后面的程序中使用此变量名来分辨不同的Bean,这个变量名对大小写敏感,必须符合所使用的语言的规定,这个规定在JavaLanguage规范中已经写明。JSP提供了JavaBean属性的,如果要将JavaBean的某个属性输出到网页中,<jsp:getPropertyname=”myBean”如果要给JavaBean属性赋值,可以使用<jsp:setProperty>,例<jsp:setPropertyname=”myBean”property=”countvalue=”12”JSP语法格式如下:<jsp:getPropertyname=”myBean”1name属性,bean的名字,由<jsp:useBean>2propertybeanScopeJavaBean对象的存在范围,scopePage(默认) JavaBean在page范围内客户每次请求JSP页面时都会创建一个JavaBean对象,外一个文件。2、客户请求的JSP页面执行完毕并向客户端发回响应。JavaBean在request范围内:客户每次请求JSP页面时,都会创建一个JavaBean对象,JavaBean1JSP2JSP网页共享同一JSP网页中<%@include%>指令以及<jsp:forward>标记包含的其他页面都可以使用该对象。3JSP页面执行完毕并且向客户端发JavaBean属性名为JavaBean的id值,属性值为JavaBean的对象,因此我们也可以通过HttpRequest.getAttribute(“id”)JavaBean对象,例如MyBeanbean=JavaBeansessionJavaBeansession的生命周期内,同一个Session中JSP文件共享这个JavaBeanJavaBeanHttpSessionJavaBeanIdJavaBeanJavaBeanid值直接JavaBean对象外也可以通过HttpSession.getAttribute(“id”)的方法来获取该对象,例如:MyBeanbean=(MyBean)session.getAttribute(“myBean”);JavaBeanapplication范围内:JavaBeanweb应用的生命周法来获取该对象,例如:MyBeanbean=(MyBean)application.getAttribute(“myBean”);myBeancount1、<jsp:getPropertyname=”myBean”property=”countMyBeanbean=(MyBean)MyBeanbean=1:Student.classpublicClassStudent{privatelongclassNo;privateintage;privateStringname;publicsudent(){classNo=990431;name=“jhon”;age=22;}publicvoidsetAge(intage){this.age=age;}publicintgetAge(){returnage;}}<%--直接--<%--通过来获取属性--<%--java中类库的bean--三、ServletServlet简单介绍:servlet的框架的是javax.servlet.Servlet的接口,所有的servletInitservletServiceDestroyservletServlet首先是GenericServlet类实现了接口servlet、servletConfig、还有Serializable类,而HttpServlet类又继承了GenericServletservletdoGet,doPostservletServlet都必须实GenericServletservlet的接口,HttpServletjava语言doPostdoGetServletHttpServletserviceHttpServlet已经帮我们来进行了实现,serviceHttpServletRequest对GETdoGetPOSTdoPost方法。ServletRequestServletRequest接口中封装了客户请求信息,比如:客户的请求方式、参数名、参数对象、客户端正在使用的协议,以及发出客户请求的主机信息等。ServletRequest接口还ServletRequest的子类可以为Servlet提供的与特定协议相关的数据。例如HttpServletRequest提供了HTTPHead信息的方法ServletRequest1、getAttribute2、getContentTypeMIME3、getInputStream返回二进制方式直接客户请求数据的输入4、getParameter根据给定的参数名返回参数值5、getRemoteAddr返回客户主机的IP地址6、getRemoteHost返回客户主机名7、getRemotePost返回客户主机的端口ServletResponseHtpServletesponseServletResponse1getOutStreamServletOutStream2getWriterPrintWriter对象3getCharacterEncodingServlet4getContentTypeServletMIME5setContentTypeServletMIMEServletServlet生命周期可以分为三个阶段:123、终止阶段javax.servlet.Servletinit(),service(),destroy(),ServletServletServletServlet:1、servletServlet2、servletServlet容器发出请求。3、Servlet的文件被更新后,重Servlet。Servletinit()方法只会被调用一次。Servlet容器的客户请求,ServletHttpRequest对象和HttpResponseServletservice方法。ServiceServletRequest对象获ServletResponse对象向客户端返回响应结果。ServletHttpServlet1HttpServlet2HttpServlet的部分方法,比如:doGetdoPost据或URL上的查询字符串,无论是HTML表单数据还是URL上的查询字符串,在HttpServletRequest对象中都以参数名参数值的键值对的方式存放,一般通过4HTTP响应结果,通过HttpServletResponse对象可以生成响应结果。HttpServletResponsegetWriterPrintWriter对象。使用PrintWriterprintprintln方法可以向客户端发送字符串数据流。 oServlet类继承HttpServlet类二、覆盖doPost方法还有doGet方法publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{StringuserName=userName我的朋友";}PrintWriterout=response.getWriter(); }Servlet如果设置了<servlet>元素的<load-on-startup>子元素,ServletWeb应用时,Servlet。publicvoidinit(ServletConfigconfig)throwsServletException{System.out.println("se

温馨提示

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

评论

0/150

提交评论