`
黄继华
  • 浏览: 48502 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

jsp基础速成精华讲解

 
阅读更多
  1. Servlet三个要素:
  2. 1.必须继承自HttpServlet
  3. 2.必须实现doGet()或者doPost()
  4. 3.必须在web.xml中配置Servlet
  5. <servlet>
  6. <servlet-name></servlet-name>
  7. <servlet-class></servlet-class>
  8. </servlet>
  9. <servlet-mapping>
  10. <servlet-name></servlet-name>
  11. <url-pattern></url-pattern>
  12. </servelt-mapping>
  13. HttpServeltRrequest:请求对象
  14. getParameter():获得表单元素的值
  15. getAttribute():获得request范围中的属性值
  16. setAttribute():设置reqeust范围中的属性值
  17. setCharacterEncoding():设置字符编码
  18. HttpSerletResponse:相应对象
  19. sendRedirect():外部跳转
  20. getWriter():获得输出流对象
  21. setContentType("text/html;charset=utf-8"):设置相应内容格式和编码
  22. 四种会话跟踪方式:
  23. 1.Session
  24. HttpSessionsession=request.getSession();
  25. session.setAttribute("name","zhangsan");
  26. session.setAttribute("pwd","aaa");
  27. Stringname=(String)session.getAttribute("name");
  28. 2.cookie:
  29. //创建Cookie
  30. Cookiecookie=newCookie("name","zhangsan");
  31. //设置Cookie的超时时间
  32. cookie.setMaxAge(24*60*60*60);
  33. //把Cookie发送到客户端
  34. response.addCookie(cookie);
  35. //得到客户端发送的Cookie
  36. Cookie[]cookies=request.getCookies();
  37. for(inti=0;i<cookies.length;i++){
  38. Cookietemp=cookies[i];
  39. Stringkey=temp.getName();
  40. Stringvalue=temp.getValue();
  41. }
  42. 3.隐藏表单域
  43. <inputtype="hidden"name="name"value="zhangsan"/>
  44. request.getParameter("name");
  45. 4.Url重写
  46. 问号传参
  47. LoginServlet?username=zhangsan&pwd=123
  48. Stringname=request.getParameter("username");
  49. Stringpwd=request.getPareameter("pwd");
  50. 内部跳转:
  51. LoginServlet
  52. request.getRequestDispatcher("index.jsp").forward(request,resposne);
  53. 外部跳转:
  54. response.sendRedirect("index.jsp");
  55. 内部跳转是一次请求和一次响应
  56. 外部跳转是两次请求和两次响应
  57. ServletContext:Servlet上下文对象
  58. 它是一个公共区域,可以被所有的客户端共享
  59. setAttribute():向公共区域里放入数据
  60. getAttribute():从公共区域里取数据
  61. 二:
  62. 三:三个标准范围:request,session,ServletContext
  63. 共同点:都有setAttribute(),getAttribute()
  64. 区别:范围不同,request<session<servletContext
  65. 四:四种会话跟踪方式
  66. 五:服务器上的五大对象
  67. request,response,servlet,session,servletContext
  68. Jsp:JavaServerPage
  69. 页面构成:7种元素
  70. 1.静态内容:html
  71. 2.指令:page,include,taglib:
  72. <%@指令名属性1="属性值1"属性2="属性值2"%>
  73. 3.表达式:<%=表达式%>
  74. 4.Scriptlet<%Java代码%>
  75. 5.声明:<%!%>:变量和方法
  76. 6.动作:<jsp:动作名属性="属性值"></jsp:动作名>
  77. 7.注释:
  78. 客户端看不到的:<%----%>
  79. 客户端可以看到的:<!---->
  80. Jsp的执行过程:
  81. 1.转译:Jsp--->Servlet
  82. 2.编译:Servlet---->.class
  83. 3.执行:.class
  84. 第一次访问jsp的时候响应速度较慢,后面请求时响应速度快
  85. 脚本:
  86. 表达式:<%=%>
  87. Scriptlet:<%%>
  88. 声明:<%!%>
  89. 指令:
  90. page:language,import,errorPage,isErrorpage
  91. include:file
  92. taglib:uri:指定标签库描述符的路径prefix:指定标签的前缀
  93. 隐式对象:
  94. 分类:
  95. 1.输入和输出对象:request(HttpServletRequest),
  96. response(HttpServletResponse),
  97. out(JspWriter),servlet中的out是PrintWriter
  98. 2.作用域通信对象:pageContext,request,
  99. session(HttpSession),
  100. application(ServletContext)
  101. 3.Servlet对象:page(this),config
  102. 4.错误对象:exception
  103. JavaBean:
  104. 一个标准的JavaBean有三个条件
  105. 1.共有的类
  106. 2.具有不带参数的公共的构造方法
  107. 3.具有set()和get()方法
  108. 4.私有属性
  109. Jsp中的标准动作:
  110. 1.useBean:创建JavaBean的一个实例
  111. <jsp:useBeanid="stu"class="com.westaccp.test.Student"scope="page/session/application/request"/>
  112. 2.setProperty:给JavaBean的属性赋值
  113. <jsp:setPropertyname="stu"property="stuName"value="zhangsan"/>
  114. <jsp:setPropertyname="stu"property="stuName"param="txtName"/>
  115. value和param不能同时使用
  116. 偷懒的方法:<jsp:setPropertyname="stu"property="*"/>
  117. 这个时候需要注意的是,表单元素的名字必须和JavaBean的属性值
  118. 一模一样
  119. 3.getProperty:获得JvaBean的属性值
  120. <jsp:getPropertyname="stu"property="stuName"/>
  121. 4.forward:内部跳转,相当于request.getRequestDispatcher().forward(request,response);
  122. <jsp:forwardpage="index.jsp"/>
  123. 5.include:包含
  124. <jsp:includepage="header.jsp"flush="true"/>
  125. 表达式语言:
  126. EL:ExpressionLanguage
  127. 语法格式:${表达式}
  128. 表示式=运算符+操作数
  129. 运算符:跟Java比较,多了一个empty,少了一个赋值运算符
  130. ${empty""}:true
  131. ${emptynull}:true
  132. 操作数:
  133. -->常量:布尔型(true/false),整型,浮点型,字符串(可以用'',还可以用""),Null
  134. -->变量:
  135. 1.指的是放在四个标准范围里的属性(page,request,session,application)
  136. 2.在编准范围内的搜索顺序:page-->request--->session--->application
  137. 3.怎么取得变量值:点运算符.,还以用[]
  138. <%
  139. request.setAttribute("name","lisi");
  140. %>
  141. ${requestScope.name}
  142. 或者
  143. ${requestScope["name"]}
  144. -->隐式对象
  145. 1.pageContext:通过它可以访问request,session,servletContext
  146. 2.跟范围由关的:pageScope,requestScope,sessionScope,applicationScope
  147. 3.跟输入有关的:param,paramValues
  148. 4.其他的:header,cookie,headervalues,
  149. EL表达式适用的场合:
  150. 1.可以在静态文本中使用
  151. 2.与自定义标签结合使用
  152. 3.和JavaBean结合使用
  153. <jsp:userBeanid="stu"class="com.westaccp.test.Student"scope="session"/>
  154. <jsp:setPropertyname="stu"property="stuName"value="hello"/>
  155. ${stu.stuName}
  156. 自定义标签:
  157. 1.标签处理程序实现
  158. --->实现:继承自BodyTagSupport或者TagSupport
  159. 一般会重写doStartTag(),doEndTag(),doAfterBody()
  160. --->描述:在标签库描述符文件中描述(.tld)
  161. <taglib>
  162. <tlib-version>1.0</tlib-version>
  163. <jsp-version>2.0</jsp-version>
  164. <short-name>simpletag</short-name>
  165. <tag>
  166. <name>showbody</name>
  167. <tag-class>com.westaccp.test.ShowBodyTag</tag-class>
  168. <body-content>empty/jsp</body-content>
  169. <attribute>
  170. <name>color</name>
  171. </attribute>
  172. </tag>
  173. </taglib>
  174. --->使用:<%@tagliburi="WEB-INF/mytag.tld"prefix="my"%>
  175. <my:showbody/>
  176. 2.标签文件
  177. --->实现和描述
  178. 在.tag文件中实现
  179. 设置主体内容:<%@body-content="empty/scriptless"%>
  180. 设置属性:<%@attributename="name"required="true"rtexprvalue="true"%>
  181. 有主体内容:<jsp:doBodyscope="session"var="theBody"/>
  182. <%
  183. Stringbody=(String)session.getAttribute("theBody");
  184. %>
  185. --->使用
  186. WEB-INF/tags/sayhello.tag
  187. <%@taglibtagdir="/WEB-INF/tags/"prefix="you"%>
  188. <you:sayhello/>
  189. 标准标签库:
  190. 1.核心标签库
  191. -->通用:
  192. set:<c:setvar=""value=""scope=""/>
  193. out:<c:outvalue=""/>
  194. remove:<c:removevar=""scope=""/>
  195. -->条件:
  196. if:<c:iftest="">.....</c:if>
  197. choose:<c:choose>
  198. <c:whentest="">...</c:when>
  199. <c:whentest="">...</c:when>
  200. <c:whentest="">...</c:when>
  201. .....
  202. <c:otherwise>...</otherwise>
  203. </c:choose>
  204. -->迭代:
  205. forEach:<forEachvar=""items=""varStatus=""begin=""end="">
  206. foTokens:<foTodensvar=""items=""delim=",;|"></foTodens>
  207. Java,C#;SQL|C
  208. 2.I18N与格式化标签库
  209. -->setLocale:设置本地区域
  210. -->bundle:设置资源包
  211. -->setBundle:设置资源包
  212. -->message:输出消息
  213. 3.SQL标签库
  214. -->setDataSource:设置数据源,用于获得与数据库的连接
  215. -->query:执行查询
  216. -->update:执行增,删,改
  217. -->transaction:事务
  218. -->param:参数
  219. 4.XML标签库
  220. 过滤器:
  221. 生命周期:
  222. 1.实例华:
  223. 2.初始化:init()
  224. 3.过滤:doFilter()
  225. 4.销毁:destroy()
  226. 5.不可用
  227. 配置:
  228. <filter>
  229. <filter-name></filter-name>
  230. <filter-class></filter-class>
  231. </filter>
  232. <filter-mapping>
  233. <filter-name></filter-name>
  234. <url-pattern></url-pattern>
  235. </filter-mapping>
  236. 几个重要的接口:
  237. 1.Filter:init(),doFilter(),destroy()
  238. 2.FilterChain:doFilter(request,response)
  239. 3.FilterConfig:getFilterName(),getInitParameter(),
  240. 过滤器链:--->1--->2--->3--->Servlet请求
  241. <----1<---2<---3<---响应
  242. MvC设计模式
  243. 1.ModelI:jsp+JavaBean
  244. 2.ModelII:jsp+Servlet+JavaBean
  245. jsp---view
  246. servlet---control
  247. javabean---model
  248. MVC:
  249. M--Model:模型:访问后台数据库
  250. V--view:视图:展示
  251. C--control:控制器:控制程序流程
  252. ModelII和MVC的关系:
  253. MVC是一种设计模式,ModelII它是MVC的一种具体的实现
分享到:
评论

相关推荐

    jsp基础速成精华讲解 .docx

    此篇文档是对jsp更好的了解好学习应用!

    实训商业源码-智能设备-论文模板.zip

    实训商业源码-智能设备-论文模板.zip

    实训商业源码-智慧农场小程序 1.8.8+众筹1.1.0+拼团1.0.0+报名1.0.6-论文模板.zip

    实训商业源码-智慧农场小程序 1.8.8+众筹1.1.0+拼团1.0.0+报名1.0.6-论文模板.zip

    电力电子领域PCS储能变流器双向Buck Boost电池充放电Matlab仿真研究 PI控制 基于文献复现的双向Buck Boost储能变流器的Matlab仿真模型与电压电流双闭环PI控制分析

    内容概要:本文详细探讨了基于文献复现的PCS储能变流器双向Buck Boost电池充放电过程的Matlab仿真模型。首先介绍了PCS储能变流器的重要性和双向Buck Boost技术的应用背景,特别是在可再生能源快速发展的背景下,储能系统的作用愈发关键。接着,文章描述了模型的具体构建方法,包括电池模型、PCS储能变流器模型和母线电压模型,并采用了电压电流双闭环PI控制策略。仿真过程分为三个阶段:0-0.1秒不充不放,0.1-0.3秒充电功率10KW,0.3-0.5秒放电功率15KW。重点讨论了LCL滤波器的效果及其对系统稳定性的影响。最后,提供了简单的Matlab代码片段用于设置仿真参数并运行模型。 适合人群:电力电子领域的研究人员和技术人员,尤其是对储能系统和PCS储能变流器感兴趣的读者。 使用场景及目标:适用于希望深入了解PCS储能变流器双向Buck Boost技术原理的研究人员,以及需要进行储能系统设计和优化的实际工程技术人员。目标是帮助他们掌握该技术的应用,提升系统性能和稳定性。 其他说明:文中提到的相关文献可以提供更多关于LCL滤波器和其他相关技术的详细信息,有助于进一步深入研究。

    实训商业源码-智慧乡村社区V6.3.9+手机录入V1.0.1-论文模板.zip

    实训商业源码-智慧乡村社区V6.3.9+手机录入V1.0.1-论文模板.zip

    减速电机测试上位机软件

    用于生产电机测试的上位机软件,有一定参考价值

    毕业设计-图片格式转换-整站商业源码.zip

    毕业设计-图片格式转换-整站商业源码.zip

    [YOLO11+UADETRAC]UADETRAC车辆识别数据集,使用YOLO11格式进行标注(三)

    车辆识别数据集,使用YOLO11格式进行标注,可以直接进行训练,本数据集包含MVI_40171到MVI_40204及其YOLO标注 0:car 1:van 2:bus 3:others

    电力电子领域中正负序PLL锁相环算法在华为与阳光电源DSP芯片中的应用及C语言实现 DSP芯片

    内容概要:本文详细介绍了华为与阳光电源在电力电子领域中采用的正负序PLL锁相环算法,用于提取和抑制不平衡电压。文章首先解释了正负序PLL锁相环的基本原理,即通过精确控制电源输出的相位来实现对负载电压的稳定控制。接着,文中探讨了该算法的具体应用场景,如高效电源设备的运行和电力系统监控,展示了其在提高设备运行效率和稳定性方面的重要作用。最后,文章讨论了技术细节和实现方式,强调了硬件资源利用效率、数字信号处理技术的应用以及多种滤波技术的使用,确保算法的高精度和稳定性。 适合人群:从事电力电子技术研发的专业人士,尤其是对锁相环算法感兴趣的工程师和技术研究人员。 使用场景及目标:适用于希望深入了解正负序PLL锁相环算法在实际应用中的实现方法和技术细节的人群。目标是帮助读者掌握该算法的工作原理及其在提升电力设备性能方面的应用。 其他说明:文章不仅提供了理论知识,还包括了具体的C语言实现指南,便于读者在实践中理解和应用。

    STM32HAl库驱动8个LED的Proteus仿真及源代码 STM32F103CubeMX生成原代码

    源代码是HAL库 Proteus仿真STM32F103C8芯片

    基于电压外环PI与内环滑膜控制的Buck变换器20V转10V仿真及参数设计 PI控制

    内容概要:本文详细介绍了基于电压外环PI控制和内环滑膜控制的Buck变换器的设计与仿真方法,特别针对将输入电压20V转换为输出电压10V的应用进行了深入探讨。文中首先阐述了PI控制器参数的选择依据及其计算方式,接着重点讲解了滑膜控制的具体实现步骤,包括滑模面的选择、切换函数的设计以及滞环的引入。此外,还提供了MATLAB/Simulink仿真实现的关键代码片段,并分享了一些实用的经验技巧,如在负载突变情况下的优化措施和参数调整策略。最后,作者推荐了几本相关领域的权威参考资料,强调了实际应用中需要注意的安全保护措施。 适合人群:对电力电子技术感兴趣的工程师和技术爱好者,尤其是希望深入了解Buck变换器双环控制系统设计与仿真的专业人士。 使用场景及目标:适用于从事电源管理芯片设计、电力电子设备开发等领域的工作人士,旨在帮助他们掌握先进的Buck变换器控制算法,提高系统的稳定性和响应速度。 其他说明:文中提供的仿真文件已上传至GitHub平台,方便读者下载并进行实验验证。同时提醒读者关注实际工程应用中的安全防护措施,确保电路运行可靠。

    电源设计领域Buck DCDC降压变换器PWM PFM双模式调制电路设计及应用 SPICE

    内容概要:本文详细介绍了基于PWM和PFM双模式调制的Buck DCDC降压变换器的设计方法及其应用场景。文中不仅涵盖了电路的基本架构,还深入探讨了各个子模块如带隙基准、自适应导通时间控制器、比较器、运放、非交叠时钟以及驱动电路的具体实现方式和技术细节。此外,文章提供了完整的电路文件、参考文献、设计文档、仿真报告,并配有部分视频讲解,帮助读者全面理解整个设计流程。特别强调了该设计在不同负载条件下的高效性能表现,尤其是在轻载条件下PFM模式的应用,确保了系统的高效率和平滑模式切换。 适用人群:适用于电源设计领域的初学者和有一定经验的研发人员,尤其是对Buck DCDC降压变换器感兴趣的工程师。 使用场景及目标:本设计旨在为电源管理芯片开发者提供一种高效的降压变换解决方案,特别是在便携式电子设备和其他低功耗系统中。通过学习本文提供的设计方案,读者可以掌握如何优化电路性能,提高响应速度,降低功耗,同时实现无缝模式切换。 其他说明:文章中提到的技术细节对于理解和改进现有电源管理系统非常有价值,尤其是一些创新性的设计思路,如自适应导通时间控制、动态迟滞技术和非交叠时钟生成电路等。

    基于vue+javaScript+css开发的熟食订货系统+源码+文档(毕业设计&课程设计&项目开发)

    基于vue+javaScript+css开发的熟食订货系统+源码+文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于vue+javaScript+css开发的熟食订货系统+源码+文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档~ 基于vue+javaScript+css开发的熟食订货系统+源码+文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于vue+javaScript+css开发的熟食订货系统+源码+文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于vue+javaScript+css开发的熟食订货系统+源码+文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于vue+javaScript+css开发的熟食订货系统+源码+文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档

    基于Python的心电图实时监测与处理系统:低通滤波器应用及ECG图像保存

    内容概要:本文介绍了一种利用Python开发的实时心电图(ECG)监测系统。该系统能够实时显示ECG信号,允许用户调整低通滤波器参数,并支持保存采集到的ECG图片。文中详细讲解了系统的各个组成部分及其具体实现方法,包括数据采集、数据处理(如低通滤波)、界面显示以及图片保存等功能。作者还提供了完整的代码示例,展示了如何使用numpy进行数值运算,matplotlib进行图形化展示,scipy进行信号处理。 适合人群:对生物医学工程、医疗健康领域感兴趣的开发者和技术爱好者,尤其是那些想要了解或学习如何使用Python构建简单但实用的医疗设备仿真程序的人群。 使用场景及目标:适用于需要快速搭建原型或进行教学演示的情境下,帮助研究人员更好地理解和研究心脏活动特征。同时,对于初学者来说,这也是一个很好的练习项目,有助于掌握Python编程技巧以及相关库的应用。 其他说明:尽管这是一个简化的版本,但它涵盖了从理论到实践的关键步骤,为后续深入探索打下了坚实的基础。此外,文中提到的所有代码都可以直接运行,便于读者动手尝试。

    基于MATLAB的单闭环直流调速系统设计与仿真:涵盖设计报告、电气接线图及系统要求 电流截止保护

    内容概要:本文详细介绍了基于MATLAB的单闭环直流调速系统的完整设计流程。首先,文中明确了设计要求,包括平滑的速度调节、较宽的调速范围以及稳定的系统性能。接着,作者展示了如何搭建电机模型并选择了PI调节器作为转速调节器,同时提供了具体的参数计算方法。此外,还讨论了动态校正策略,强调了开环频率特性的分析及其对系统稳定性的影响。电流截止保护环节的设计也被提及,确保系统在负载变化时能够保持稳定。最后,通过仿真验证了系统的性能,确保其符合预期的各项指标,并分享了一些实际操作中的经验教训。 适合人群:从事电力电子、自动化控制领域的工程师和技术人员,尤其是那些希望深入了解直流调速系统设计的人群。 使用场景及目标:适用于需要设计高效可靠的直流调速系统的项目,旨在帮助读者掌握从理论到实践的全过程,提高系统设计能力。 其他说明:文中不仅提供了详细的理论推导和公式解释,还有丰富的实战经验和技巧分享,有助于读者更好地理解和应用相关知识。

    【Python编程基础】模块与面向对象编程详解:从入门到实践的全面解析介绍了Python编程中的

    内容概要:本文详细介绍了Python编程中的模块和面向对象思想。首先,阐述了Python在当今编程领域的广泛应用,包括人工智能、数据分析和网络爬虫等。接着,文章深入讲解了Python模块的概念,包括模块的作用、常见的内置模块(如math模块)及其导入方式(import、from...import、from...import *),以及如何创建自定义模块和包。随后,文章探讨了面向对象编程思想的诞生背景及其基本概念,包括对象、类、属性和方法,并重点介绍了面向对象的三大特征:封装、继承和多态。最后,文章通过一个学生管理系统的案例,展示了模块与面向对象思想在实际项目中的结合应用。 适合人群:对Python编程感兴趣的初学者,以及希望深入了解模块和面向对象编程的中级开发者。 使用场景及目标:①理解Python模块的使用方法,包括导入方式和自定义模块的创建;②掌握面向对象编程的基本概念和特性,如类、对象、封装、继承和多态;③学会将模块与面向对象思想结合应用于实际项目开发,提高代码的可维护性和复用性。 阅读建议:本文内容详实,涵盖模块和面向对象编程的基础理论与实践案例。读者应结合实际编程练习,逐步掌握模块的使用技巧和面向对象编程的核心思想。特别是通过案例分析部分,读者可以更好地理解如何将理论应用于实际项目中,提升编程能力。

    微电网控制中改进下垂控制策略及其应用——负载稳压与混合储能系统仿真研究

    内容概要:本文探讨了微电网控制中改进下垂控制策略的应用,旨在解决纯阻性负载和冲击负载对母线电压稳定性的挑战。文中介绍了系统的基础参数,包括电池、超容、光伏等设备的具体配置,并通过Simulink仿真环境建立了双闭环控制、传统下垂控制和改进下垂控制三种模型进行对比。改进下垂控制策略通过引入SOC参数优化了储能系统的性能,减少了直流母线电压的偏差。此外,在改进下垂控制基础上加入了二次控制,提高了系统的响应速度和稳定性。最终,通过对不同负载情况下三种控制方法的表现进行实验和数据分析,验证了改进下垂控制的有效性和优越性。 适合人群:从事电力电子、微电网控制、储能系统等相关领域的研究人员和技术人员。 使用场景及目标:适用于微电网系统的设计与优化,特别是涉及负载稳压和平抑新能源发电功率波动的场合。目标是提升系统的稳定性和效率,确保母线电压在各种负载条件下保持稳定。 其他说明:本文不仅提供了详细的理论分析,还附有完整的仿真模型和参考文档,便于读者理解和复现实验结果。

    自助授权的最新二开云授权系统源码+可授权后门盗版入库

    自助授权的最新二开云授权系统源码+可授权后门盗版入库 安装说明:上传访问安装

Global site tag (gtag.js) - Google Analytics