javaWeb学习笔记

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

11115555、JSPJSPJSPJSP5.1、概要介绍JSPJavaServerPagesjava服务页servlet服务器端小程序java架构图2222.5.2、部署工程部署:1、可以在Tomcat下的webapps直接部署2、也可以放到任意一个地方,需要在tomcat\conf\Catalina\localhost这个目录下配置一个*.xml的文件。xml文件内容如下:Contextpath=/hellodocBase=d:\java\helloappreloadable=true/保存的名字为:hello.xml。文件名要与path斜线后面的内容一致1、虚拟主机:在server.xml中配置Hostname==d:\javaunpackWARs=trueautoDeploy=truexmlValidation=falsexmlNamespaceAware=falseContextpath=/hellodocBase=helloappreloadable=true/Contextpath=/docBase=123reloadable=true/Aliasabc.com/Alias/HostappBase与docBase一起就能找到web-inf5.3、设置域名cmd命令下输入drivers找/etc/hosts更改如下内容:3333127.0.0.1localhost整个工程编码对着工程点右键属性,一般选择UTF-85.5配置HTML页面的属性在页面的首部加上内容编码的属性,按照你要操作的编码进行更改%@pagelanguage=javaimport=java.util.*pageEncoding=UTF-8contentType=text/html;charset=UTF-8%所有地方编码保持一致,以尽可能减少乱码问题5.6整个动态交互的开始从一个HTML表单提交开始:formname=loginaction=usermethod=postonsubmit=checkData()通过post提交到action中的配置所指的页面进行后续处理5.7在Servlet中接收页面中输入的属性例子:【response.setContentType(text/html)】;//此转码方法只对post有效,对get方法无效request.setCharacterEncoding(UTF-8);//response.setContentType(text/html;charset=UTF-8);//response.setCharacterEncoding(UTF-8);//newString(request.getParameter(username).getBytes(ISO-8859-1),UTF-8)Stringusername=request.getParameter(username);Stringpassword=request.getParameter(password);getParameter中的名字为HTML页面中对应文本框或者密码框的name属性的值。44445.8获取Session对象HttpSessionsession=request.getSession(true);session有以下两个方法,获取属性和设置属性值例子:session.setAttribute(Constant.LOGIN_USER,ub);session.getAttribute(Constant.LOGIN_USER)5.9页面跳转前面设置好页面的request,respose属性之后,就可以进行跳转操作了请求转发:请求会发到targrt所指的页面进行处理target是一个跳转页面RequestDispatcherrd=request.getRequestDispatcher(target);rd.forward(request,response);5.10工程的xml文件的配置打开WEB-INF目录下的web.xml文件一般用到servlet需要配置Servlets属性那里。没有用到servlet就就不用配置必须要配置的一个是welcome-file-list设置用户访问的第一个页面5555配置Servlets属性配置welcome-file-list设置用户访问的第一个页面5.11日志组件的使用log4j.properities拷贝到src目录下,log4jxxx.jar拷贝到工程的WEB-INF的lib目录下。6666在类中声明privatestaticfinalLoggerlog=Logger.getLogger(classname.class);使用的时候导入importorg.apache.log4j.Logger;别导错总共有以下四个打印级别:debug,warnerrorfatal,info即log.denug(),log.error()……5.12JSP页面的执行所有的JSP页面都会先编译成JAVA文件,然后再生成Class文件执行5.13JSP注释显示注释:!—内容--这种注释会在客户端浏览器中看到隐式注释单行//多行/**/JSP独有的注释%--内容--%77775.14JSP中的scriptlet所有嵌入在HTML中的Java程序都必须使用scriptlet标记出来一共有三种代码:第一种:%%在其中可以定义局部变量,编写语句第二种:%!%在其中可以定义全局变量、方法、类第三种:%=%用于输出一个变量或者一个具体内容一般而言,使用%!%的操作声明全局变量较多,而定义方法与定义类基本上不使用。例子:第一种:%intx=10;Stringstr=HelloWorld;out.println(h2x=+x+/h2);out.println(h2str=+str+/h2);%第二种:%!publicstaticfinalStringINFO=HelloWorld;publicintadd(intx,inty){returnx+y;}publicclassPerson{privateStringname;privateintage;publicPerson(Stringname,intage){this.name=name;this.age=age;}publicStringtoString(){returnname=+name+age=+age;}}%%out.println(h3INFO=+INFO+/h3);out.println(h33+5=+add(3,5)+/h3);out.println(h3+newPerson(张三,12)+/h3);%8888第三种:%Stringinfo==30;%h3info=%=info%/h3h3temp=%=temp%/h3h3name=%=liuchao%/h35.15关于输出的使用与比较坚决不使用out.println()输出,而改用表达式%=%输出,事HTML代码与Java代码分离。5.16Page指令语法:%@page属性=“内容”%最常见的属性:ContentType(设置页面文件属性)errorPageimportpageEncoding(设置页面编码)设置文件编码99995.16.1错误页的显示主页面设置%@pagelanguage=javacontentType=text/htmlpageEncoding=UTF-8%%@pageerrorPage=error.jsp%htmlbody%inti=10/0;%/body/html跳转到的错误页面的配置:%@pagelanguage=javacontentType=text/htmlpageEncoding=GBK%%@pageisErrorPage=true%htmlbody%response.setStatus(200);%h1程序出现了错误h1/body/html以上的代码转到错误页面后,地址栏地址没有改变,但内容已经改变了。这种不改变地址栏的跳转都称为服务器端跳转10101010上面这种每个页面都修改的编写方式太麻烦了,在实际的使用中可以集中处理这些问题,通过修改web.xml文件实现在web.xml文件中加入如下代码error-pageerror-code500/error-codelocation/errorPage/error.jsp/location/error-pageerror-pageerror-code400/error-codelocation/errorPage/error.jsp/location/error-pageerror-pageexception-typejava.lang.NullPointerException/exception-typelocation/errorPage/error.jsp/location/error-page不过以上两种错误页处理相当的业余(MLDN视频如是说)111111115.17包含指令使用JSP包含指令可以复用代码,工具栏,页面头部和页面尾部都可以从其它文件导入。要想实现包含操作,有两种做法:静态包含和动态包含5.17.1静态包含静态包含语法:%@includefile=”要包含的文件路径”%示例:%@pagelanguage=javaimport=java.util.*pageEncoding=UTF-8%htmlh1静态包含/h1%@includefile=info.html%%@includefile=info.jsp%%@includefile=info.inc%/html处理流程如下图所示:12121212静态包含就是将引入的文件的内用在调用的JSP页面中进行直接的替换,然后再整体编译成.class文件执行5.17.2动态包含动态包含语句可以自动的区分被包含的页面是静态页面还是动态页面动态包含是一个标签指令,必须完结include.jsp%@pagelanguage=javacontentType=text/html;charset=UTF-8pageEncoding=UTF-8%htmlbodyh1动态包含/h1jsp:includepage=receive_param.jspjsp:paramvalue=zhangsanname=name/jsp:paramvalue==info/13131313/jsp:include/body/htmlreceive_param.jsp要跳转的页面%@pagelanguage=javacontentType=text/html;charset=UTF-8pageEncoding=UTF-8%!DOCTYPEhtmlPUBLIC-//W3C//DTDHTML4.01Transitional//EN=Content-Typecontent=text/html;charset=UTF-8title接受参数/title/headbodyh1参数一:%=request.getParameter(name)%/h1h1参数二:%=request.getParameter(info)%/h1/bo

1 / 105
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功