您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Javaweb完整版
第一讲JavaEE核心组成:四个容器、四种组件容器:AppletContainer,ApplicationContainer,WebContainer,EJBContainer组件:Applet,Application,JSP/Servlet,EJB服务:HTTP,JDBC,JNDI,JSTL等MVC设计模式:模-----Model视图-----View控制器----ControllerWeb容器在动态Web中才存在Web容器本身是专门用来处理拼凑代码功能的Web容器可以连接数据库Tomcat主目录:bin所有的可执行命令,启动和关闭服务器的命令也在这个文件夹中conf服务器的配置文件夹,里面保存了各种配置信息LibTomcat服务器所需要的各种库文件logs保存服务器的系统日志WebappsWeb应用程序存放的目录,Web项目保存到此目录中即可发布——热部署Work临时文件夹,生成所有的临时文件(*.java,*.class)动态Web的最大特点就是交互性依靠表单formaction=“”method=“”/form接受请求的方法:request.getParameter(“参数名称”),返回的是String类型的数据第二讲JSP页面组成静态内容HTML静态文本指令以“%@”开始,以“%”结束。比如:%@pagepageEncoding=gb2312%表达式%=Java表达式%小脚本%Java代码%声明%!方法%标准动作以“jsp:动作名”开始,以“/jsp:动作名”结束比如:jsp:forwardpage=URI/注释!--这是注释,但客户端可以查看到--%--这也是注释,但客户端不能查看到--%声明格式:%!声明语句;%声明全局变量、类、方法举例:%!Stringstr=“HelloWorld!!”;%page指令通过设置内部的多个属性来定义整个页面的属性语法:%@page属性1=属性值属性2=属性值1,属性值2…属性n=属性值n%page指令常用属性属性描述默认值language指定JSP页面使用的脚本语言javaimport通过该属性来引用脚本语言中使用到的类文件无contentType用来指定JSP页面所采用的编码方式text/html,ISO-8859-1include指令包含语句1——静态包含格式:%@includefile=“uri”%include语句可以包含任意文件(*.txt,*.htm,*.jsp,*.inc),包含的是文件的内容。但在一个JSP页面中,只能有一组htmlheadbody,因此,在开发时被包含的文件,只写显示部分的HTML代码,主体代码不要出现。只是将页面的内容静态的包含进来,而不管被包含的页面文件后缀如何。执行时,先将所有内容包含进来,一起编译处理完之后,再将所有的内容发送给客户端。先包含后处理(一起编译)jsp:include/标签指令包含语句2——动态包含格式1:jsp:includepage=“uri”/动态包含页面,能自动区分包含的是静态页面还是动态页面,执行时,如果资源是静态资源,则直接将资源包含,处理与%@includefile=“uri”%相同;如果请求的资源为动态资源,则先各自编译处理资源,之后将处理后的结果包含在一起。先处理后包含(各自编译)格式2:jsp:includepage=“uri”jsp:paramname=“参数名称”value=“值”//jsp:include使用此种形式的语句,可以向被包含的页面中传递参数如果传递参数,则被包含的页面必须是JSP页面(动态页面)在JSP中,接收包含语句参数的方法是:request.getParameter(“参数名称”);JSP跳转语句forward语句:属于无条件跳转语句形式1:jsp:forwardpage=“uri”/形式2:jsp:forwardpage=“uri”jsp:paramname=“参数名称”value=“值”//jsp:forward无条件跳转,页面跳转了,但地址栏不变,属于服务器端跳转JSP内置对象JSP使用Java语言进行编程,Java是一门面向对象的语言,除几个简单数据类型外,其余均为对象。在JSP中存在几个内置对象,这些对象可以不经过显示声明直接使用,也不需要专门的代码创建其实例,在程序设计中可以直接使用这些对象。(Web容器为对象实例化)JSP内置对象分类与Servlet有关的隐含对象page、config与Input/Output有关的隐含对象out、request、responseJSP执行时,提供有关Context的隐含对象session、application、pageContext与Error有关的隐含对象exception第三讲什么是JSP内置对象JSP内置对象是Web容器创建的一组对象JSP内置对象是可以直接在JSP页面使用的对象,无需使用“new”获取实例JSP内置对象的名称是JSP的保留字Eg:%request.setCharacterEncoding(GBK);StringtitleName=request.getParameter(titlename);%没有出现new关键字,但却可以使用request对象JSP内置对象概览内置对象类型作用域requestjavax.servlet.http.HttpServletRequestrequestresponsejavax.servlet.http.HttpServletResponsepagepageContextjavax.servlet.jsp.PageContextpagesessionjavax.servlet.http.HttpSessionsessionapplicationjavax.servlet.ServletContextapplicationoutjavax.servlet.jsp.JspWriterpageconfigjavax.servlet.ServletConfigpagepagejava.lang.Objectpageexceptionjava.lang.ThrowableJSP中属性保存范围在一个页面范围内:page在一次服务器请求范围内:request在一个会话范围内:session在一个应用服务器范围内:applicationJSP中设置和取得属性方法设置属性publicvoidsetAttribute(java.lang.Stringname,java.lang.Objectattribute)取得属性publicjava.lang.ObjectgetAttribute(java.lang.Stringname)在JSP中设置一个页的属性范围,必须通过pageContext(页容器)完成。page范围在JSP中设置一个页的属性范围,必须通过pageContext(页容器)完成。request范围request将属性保存在一次请求范围内。前提:必须使用服务端跳转jsp:forwardpage=“uri”/如果跳转方式改成超链接ahref=“uri”/a,地址栏改变(新的一次请求),上一次请求的内容没有保存下来,故显示内容为null。session范围session,只保留一个用户信息在一个浏览器(一次会话)范围能取得属性值只要设置在session中的内容,不管采用什么方式进行页面跳转,都可以获得属性值应用案例:验证用户是否登录application范围application属性范围值,只要设置一次,则在所有的网页窗口都可以取得数据。如果要释放application资源,只能重新启动服务器application应用:在线人员统计,在线人员名单列表PageContext类在PageContext类中有四个常量:PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、APPLICATION_SCPOE在父类javax.servlet.jsp.JspContext中提供了一组用于向各种范围内存取属性的方法。publicabstractvoidsetAttribute(Stringname,Objectvalue)publicabstractvoidsetAttribute(Stringname,Objectvalue,intscope)publicabstractObjectgetAttribute(Stringname)publicabstractObjectgetAttribute(Stringname,intscope)为什么需要使用HTML表单HTML表单是与用户交互信息的主要手段如邮箱登陆页面文本框中地址回顾HTML表单创建表单一个表单至少应该包括说明性文字、表单控件、提交和重置按钮等内容HTML表单标记说明了表单提交的方式和地点formname=form1method=postaction=loginAction.jsp创建表单控件通过HTML表单的各种控件,用户可以输入文字信息,或者从选项中选择,以及做提交的操作用户名:inputtype=textname=name密码:inputtype=passwordname=pwdinputtype=submit“name=Submitvalue=提交method表示表单发送的方式,分为两种:get方式:将表单内容经过编码之后,通过URL发送,使用get方式发送时有255个字符的限制(可以在地址栏里看到方式和地点)post方式:将表单的内容通过http发送,post没有字符长度的限制(在地址栏里看不到表单提交的信息)表单处理的编程模式用户通过表单控件输入并提交信息JSP获得表单数据,进行逻辑处理JSP根据处理结果,转向不同的结果页面JSP内置对象requestrequest对象主要用于处理客户端请求,主要功能是服务器端接收客户端以HTTP方式传递的数据,然后对其进行进一步处理,实现交互设计。request对象常用方法方法名称说明StringgetParameter(Stringname)根据页面表单组件名称获取页面提交数据String[]getParameterValues(Stringname)获取一个页面表单组件对应多个值时的用户的请求数据voidsetCharacterEncoding(Stringcharset)指定每个请求的编码在调用request.getParameter()之前进行设定,可以解决中文乱码问题request.getRequestDispatcher(Stringpath)返回一个javax.servlet.RequestDispatcher对象,该对象的forward方法用于转发请求编程实现软件技术交流论坛的注册功能注册信息包括:用户名、密码、你从哪里知道本论坛页面提交后,显示用户输入的数据参考代码formname=form1method=postaction=reginfo.jsprequest.setCharacterEncoding(GBK);tableborder=0align=centerrequest.getParameter(“name”);trtd用户名/tdtdinputtype=textname=name/td/trrequest.getParameter(pwd);trtd密码/tdtdinputtype=passwordname=pwd/td/trtrtd你从哪里知道本论坛/tdtdString[]channels=request.getParameterValues(channel);if(channels!=null){for(inti=0;ichannels.length;i++){out.println(chan
本文标题:Javaweb完整版
链接地址:https://www.777doc.com/doc-4249127 .html