ImageVerifierCode 换一换
格式:DOC , 页数:57 ,大小:320KB ,
资源ID:7681533      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7681533.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(JSP_学习笔记_bruce.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

JSP_学习笔记_bruce.doc

1、1 What is JSP. 2 Why,Where and How JSP. 3 JSP Principle. 4 Base JSP(Statement,Script,Expression,Direction,Action). 5 JSP,Life cycle. ******************************************* 1 What is JSP. 1)什么是JSP JSP: Java Server Page, Java EE组件,本质上是Servlet。 运行在Web Container.接收Http Request,生成Http R

2、esponse JSP使得我们能够分离页面的静态HTML和动态部分。 2 Why,Where and How JSP. 1)为什么需要JSP Servlet: java class ---> out.println(""); Jsp: script language ---> 2)Jsp用在哪里 UI,表现层 Servlet----->Controll 图解JSP与Servlet的分工合作(比较没有JSP之前Servlet是如何唱独角戏) a)单独使用Servlet。 b)单独使用JSP(Model 1)。 c)结合JSP和Servl

3、et(Model 2)。 3)如何开发Jsp Jsp文件后缀名--->.jsp Jsp文件的组成--->html+jsp脚本元素(Java语言编写) 不用在web.xml中配置 http://localhost:8080/baseJSP/welcome.jsp <%!String words="Welcome to our homepage,welcome to SD0702...";%> <%=words%> 3 JSP Principle. 图解运行原理 4 Base JSP(Statement,Script,Expression,Direction,A

4、ction). 1)Jsp声明 <%! %> 声明类成员 <%!int i=100;%> <%!String word="春田花花大学";%> <%!private int counter=0; public int count(){ return ++counter; } %>

<%=count()%>

2)Jsp脚本 <% %> _jspService()中的局部代码 <%System.out.println("Hi,I like JSP.");%> <%Connection conn=DriverManager.g

5、etConnection(); Statement st=con.createStatement(); String sql="select ..."; ResultSet rs=st.executeQuery(sql); %> 比较 <%!int i=100;%> //成员变量 <%int i=100;%> //_jspService()方法中的局部变量 <%!public void hello(){}%> <%public void hello(){}%> //error 3) 表达式 <%= %> 输出数据至页面的当前

6、位置 <%="Hello,JSP world!"%> <%=name%> //<%!String name="GiGi";%> <%=new java.util.Date()%> 4)指令 <%@ %> page include taglib page指令---->import,session,isThreadSafe,errorPage,etc import--->导入其它的包或类 <%@page import="java.util.Date"%> <%@page import="java.sql.*"%> <

7、@page import="java.util.*,java.io.*,.*"%> session--->当前Jsp是否参与会话 default--->true <%@page session="true"%> request.getSession(); <%@page session="false"%> session="true"时,可用内建对象session直接访问会话 <%=session.getAttribute("name")%> -----------以下属性不再使用--------------------------- isThreadSafe---

8、>当前Jsp页面是否线程安全 default--->true <%@page isThreadSafe="true"%> 普通的Servlet,可以并发处理用户请求 <%@page isThreadSafe="false"%> 相当于Servlet实现了SingleThreadModel 接口,不能并发处理请求(强烈要求禁止使用该属性) -----------以上属性不再使用--------------------------- errorPage isErrorPage--->Jsp页面中出现异常的处理方式 对于有可能出现异常的页面 <%@page errorPage

9、"error.jsp"%> 对于处理异常的页面 <%@page isErrorPage="true"%> <%=exception%> 内建对象 contentType--->设置Jsp内容的MIME类型 <%@page contentType="text/html; charset=gbk"%> 等价于Servlet:response.setContentType("text/html; charset=gbk"); include指令--->file 把目标页面的内容包含到当前页面,产生页面叠加以后的输出效果 <%@include file="titl

10、e.html"%> <%@include file="booter.jsp"%> 在Jsp编译的时候被处理 taglib指令(放在JSTL处详细讲) <%@ taglib uri=" prefix="tree" %> //产生一个默认的树 自定义标签(可选) 5)动作 jsp:forward jsp:include jsp:useBean jsp:setProperty jsp:getProperty

11、page=""/> 相当于Servlet中通过RequestDispatcher.forward() 还可以传参数 相当于Servlet中通过RequestDispatcher.include() 与<%include file=""

12、/>比较:动作在运行期处理 可以传参数 flush 属性 flush 指示在读入包含内容之前是否清空任何现有的缓冲区。 JSP 1.1 中需要 flush 属性,因此,如果代码中不用它,会得到一个错误。 但是,在 JSP 1.2 中, flush 属性缺省为 false。 由于清空大多数时候不是一个重要的问题,因此, 我的建议是:对于 JSP 1.1,将 flush

13、 设置为 true; 而对于 JSP 1.2 及更高版本,将其设置为关闭。 Jsp中的注释: a、java方格注释 编译器会忽略掉此类注释中的内容 <%--ur comments--%> <%//ur comments%> <%/*ur comments*/%> <%//new java.util.Date()%> b、html风格注释 编译器会执行此类注释中的代码 out.println("") 例子: 1)关于外星人的问

14、卷调查 我欢迎外星人进入我们的世界,帮助我们发展。 我害怕外星人,无法接受他们进入我们的世界。 外星人很神秘,我不知道存不存在外星人。 我喜欢听UFO的故事,但也许那只是一些很好玩的故事而已。 不要和我谈论外星人,地球人已经很复杂了。 如果有外星人,我想和他们说: 嘿嘿,我们可以做朋友么? 2)NumberGuess.jsp 猜一个数字,如果猜对显示恭喜信息,猜错则提示客户猜的数字太小还是太大了。 5 JSP,Life cycle(与Servlet的生命周期比较). //JSP容器第一次装载jsp文件时调用一次 public voi

15、d _jspInit(){ System.out.println(this.getClass()+":entering _jspInit()..."); } //每个请求都要调用一次 public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { } //jsp文件被修改时,JSP容器会销毁旧的jsp文件对应的对象, //重新装载一次更新后的jsp

16、文件的内容(只调用一次) public void _jspDestroy(){ System.out.println(this.getClass()+":entering _jspDestroy()..."); } 6.homework 1)好又多优惠政策 购买金额超过500 RMB 有90%折扣 购买金额超过1000 RMB 有85%折扣 购买金额超过1500 RMB 有80%折扣 购买金额超过2000 RMB 有75%折扣 购买金额超过10000 RMB 有70%折扣,赠送会员卡一张 2)九九乘法表 day2 1 Jsp调用JavaB

17、ean 2 异常处理 3 JAAS实现安全(可选) ************************************************************** 1 Jsp调用JavaBean 分离页面的显示代码和业务逻辑代码,将业务代码放到后台的Java Bean中。 减少了JSP中的脚本代码,便于维护和复用。 Java Bean: 1)无参数的构造方法(默认构造方法) 2)标准getter、setter方法 3)如果要支持RMI的,要实现Serializable jsp:useBean--->在Jsp页面中使用一个JavaBean

18、sp:useBean id="" class="" scope=""/> id:javaBean对象名 class:bean class的位置 scope:javaBean对象的共享范围(page,request,session,application) page:当前页面范围 request:同一个请求范围 forward,include session:同一个会话 application:同一个应用 ServletContext JSP内建对象(直接可是使用,无需我们重新定义) 例子:Student

19、s="vo.Student" scope="session"/> 等价于 <% Student stu=(Student)session.getAttribute("stu"); if(stu==null){ stu=new Student(); session.setAttribute("stu",stu); } %> 可以用表达式获得bean的值 <%=stu.getName();%> 对JavaBean的属性赋值 1) name:JavaBean对象名

20、 property:JavaBean属性名 value:属性值 等价于 <% stu.setName("Bobo"); %> 可以嵌套JSP表达式 2)设置JavaBean的属性值

21、 param:对应着request中输入域的名

age: ...
package vo; public class Student implements java.io.Serializable{ private String name; public void setName(String name){this.name=name} public void getName(){return name;} ... } 3)Java Bean中的属性名与form中输入域的名字保持一致的话,可以使用通配符* 一次设置所有字段的值。
name: sex: age:
package com; public cla

23、ss Student implements java.io.Serializable{ private String name; private String sex; private int age; public void setName(String name){this.name=name} public void getName(){return name;} ... } 获得Java Bean的值

24、/> 等价于 <%=abc.getName()%> 2 JSP中的异常处理 1)try/catch/finally/throws/throw 2)errorPage, isErrorPage <%@page errorPage="error.jsp"%> 需要错误处理的页面 <%@page isErrorPage="true"%> 错误页面,有一个隐式对象exception可用 <%=exception%> 产生内建对象exception,可通过它获得异常信息

25、3)声明的方式处理异常 web.xml java.lang.ArithmeticException /MathError.jsp 404 /404.jsp RuntimeException: java.lang.A

26、rithmeticException java.lang.NullPointerException java.lang.ArrayIndexOutOfBoundsException Java中的RuntimeException及其子类是不需要处理的(try/catch),因为所有的 RuntimeException总是可以通过优化代码来避免, 这种异常被称为“Unchecked Exception”。 思考:三种异常处理方式同时启动用,那个优先级高? 作用域越小,起作用的优先级越高。 Checked Exception 注意:要使得页面自动跳转到错误页面,必须关闭

27、浏览器的“显示友好HTTP错误信息”选项 public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { //只处理这两种兼容的异常 } 3 JAAS实现安全 Java EE规范之一,实现Java EE应用程序安全性的一个重要途径 Java Authentication and Authorization S

28、ervice Java认证(Authentication)与授权(Authorization)服务 (要求:会用!不要求深入理解) Web端的认证方法有:BASIC、FORM、DIGEST、CERTIFACATE 1)在Tomcat Server中配置新用户与角色 %TOMCAT_HOME%/conf/tomcat-user.xml

29、ername="narci" password="11" roles="admin,manager"/> -------------------------------------------------------------------- 为什么tomcat可以使用tomcat-user.xml作为它保存用户和角色信息的文件? 因为在server.xml中,有以下配置: -------------------------------------

31、 2)声明安全性约束(指明受限资源) web.xml Constraint-all all-resources /admin/*

32、pattern>/security/* GET POST admin 3)选择认证方式(使用标准的FORM方式) web.xml 如果是BASIC

33、认证:5)步可以不用。 BASIC UserDatabaseRealm 如果是FORM认证: FORM /logon/loginForm.jsp

34、age>/logon/loginErrorForm.jsp 4)声明安全性角色及与用户的映射关系 web.xml admin 5)标准的表单(FORM认证才需要) action的值 用户名、密码字段的名称都是固定的(规范)

标准的表单提交(固定不变): action:j_security_check name:j_username password:j_password 练习: 使

36、用JSP+Java Bean实现“学生管理系统”中的学生列表功能。 作业: 使用JSP+Java Bean完善课堂练习(CRUD),尝试使用JAAS加上访问控制 day3 1 内建对象 2 欢迎文件 3 MVC ******************************************************************** 1 内建对象 JSP中的隐含对象:不用我们手工去创建的对象 // JspWriter out -- to write to the browser // HttpServletRequ

37、est request -- the request object. // HttpServletResponse response - the response object. // PageContext pageContext -- the page context for this JSP // HttpSession session -- the session object for the client (if any) // ServletContext application -- The servlet (application)

38、 context // ServletConfig config -- The ServletConfig for this JSP // Object page -- the instance of this page's implementation class (i.e., 'this') // exception <%@page isErrorPage="true"%> 四个范围对象:pageContext,request,session,application 等价的代码 <% Student stu=pageContext.getAttribute("stu"); if(stu==null) stu=new Student(); pageContext.setAttribute("stu",stu); %> //page,reqeust,session,application <% pageContext.setAttribute("name", "maxwell"); pageContext.setAttribute("sex", "

40、m"); pageContext.setAttribute("age", "28"); request.setAttribute("name", "maxwell"); request.setAttribute("sex", "m"); request.setAttribute("age", "28"); session.setAttribute("name", "maxwell"); session.setAttribute("sex", "m"); session.setAttribute("age", "28");

41、 application.setAttribute("name", "maxwell"); application.setAttribute("sex", "m"); application.setAttribute("age", "28"); %> next.jsp out: <%out.println("Hello JSP!");%> <%System.out.println("Hello JSP!");%> getBufferSize() :tomcat default:8k getRemaining() flush() c

42、learBuffer() request: getProtocol() getMethod() getHeader("User-Agent") getCookies() 返回的是一组Cookie getRequestURI() --> 端口号后的路径 getRequestURL() --> http://...... 完整路径 getContextPath() --> Web的根目录 getServletPath() --> (/first.jsp) getPathInfo() getQueryString() --> ?后的路径(?method=list...)

43、 isRequestedSessionIdFromCookie() -->判断sessionId师否用Cookie保存 isRequestedSessionIdFromURL() -->判断sessionId师否用URL保存 isRequestedSessionIdValid() getLocalPort() -->服务器端口 getRemotePort() --> 本地端口 getRequestDispatcher(),setCharacterEncoding(),getInputStream() session: getId() -->获得sessionId isNe

44、w() -->判断是否为第一次创建得 invalidate() -->使sessionId不生效(将sessionId销毁) setMaxInactiveInterval(10) response: sendRedirect("third.jsp") 跳转到下个页面,请求发生了改变 encodeURL("second.jsp") application: log("some body visit our website..."); getMajorVersion() getMinorVersion() getServerInfo() getRequestDis

45、patcher(),getResourceAsStream(),getInitParameter() pageContext: getAttribute("name") config:(可将JSP当成Servlet在web.xml中配置) getInitParameter("classNo") getServletName() --> page: getClass() requestURI = contextPath + servletPath + pathInfo a getContextPath b getServletPath c getPath

46、Info 2 欢迎文件 缺省情况下,一个Web App中的index.html,index.htm,index.jsp可作为默认的欢迎 文件.当用户请求没有指明要访问的资源时,Web Container会用欢迎文件响应客户端 请求. 手工设置欢迎文件 web.xml 找a.jsp,没找到,继续往下找 /a.jsp /b.jsp /c.jsp

47、me-file> 3 MVC 优化Web App的结构,使用MVC模式 Model 1: JSP + JavaBean(EJB) Model 2: Servlet + JSP + JavaBean(EJB)------>MVC MVC: Model-View-Controller 采用MVC实现学生管理系统 day4 1 实现文件上传 2 数据验证 3 分页实现 *******************************************************************

48、 1 实现文件上传

file:
观测HTTP Monitor POST /fileUpload/upload.jsp HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash

49、 application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* Referer: http://127.0.0.1:8082/fileUpload/ Accept-Language: zh-cn Content-Type:multipart/form-data; boundary=---------------------------7d73e2c110626 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Host: 127.0.0.1 Content-Length: 234 Connection: Keep-Alive Cache-Control: no-cache -----------------------------7d73e2c110626 Content-Disposition: form-data; name="file"; filename="C:\Documents and Settings\Administrato

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服