当前位置: 首页 > news >正文

实习日志(3)


分为三部分:1、Servlet技术延伸;2、JSP技术熟悉了解;3、JavaWeb和数据库mySQL链接初识

1、 Servlet技术的延伸主要包括三方面:

(1)      输入和输出:

A、Servlet向客户端发送application/force-download类型数据。注意文件格式以及文件路径,没有设置相对应路径很容易搞错

B、Servlet向客户端发送multipart/form-data类型数据。利用Apache封装好的JAR包能够比较方便的进行文件上传。几个学习点http://blog.csdn.net/smallhorn/article/details/7864658 FileItem类的学习,其中包含多个函数用来判断是不是表单域以及获取名称等相关信息;Iterator迭代器的使用,对List进行遍历的一个封装类,很实用

C、Servlet向客户端发送image/Jpeg类型的图像。主要用到java.awt.image.BufferedImage:表示位于缓存中的图像;java.awt.Graphics:表示可以用来画矩形写字等等;com.sun.image.codec.jpeg.JPEGImageEncoder:表示图像编码器,能够把原始图像转换为Jpeg格式,并且能够利用外界提供的输入输出流输出图像数据

D、Servlet与客户端交换Cookies数据。Cookies数据不是位于Http请求正文和响应正文中,而是位于HTTP请求头和响应头中。Servlet利用HttpServletResponse接口的addcookies()方法,吧Cookis数据加入到Http响应结果中;Servlet利用HttpServletRequest接口的getCookies()方法,来读取HTTP中请求的所有Cookies,获得这些数据后,可以根据变量名进行单独获取,也可以全部打印出来,Cookies对于客户状态的跟踪比较有效,并且还可以设置有效期。注意Cookies的访问控制,即cookie的共享,其中使用到的函数有coolie。SetPath(”/”)以及cookie。SetDomain()函数。

(2)      与其他Web组件的协作

A、请求转发:forward()方法,把请求转发给目标组件; Servlet可以通过两种方式得到RequestDispatcher对象:调用ServletContext的getRequestDispatch(String path)必须是绝对路径;调用ServletRequest的getResquestIdspatcher(String path)路径可以是绝对的也可以是不绝对的

B、包含:include()方法,包含目标组件的响应结果;与请求转发相比:远组件被包含的目标组件的输出数据都会添加上去;在目标组件中对响应状态代码或者响应头所做的修改会被忽略。

C、重定向:Servlet元组件把请求重定向到其它组件:使用时候注意URI的设定,容易出错

D、链接:在原组件中通过HTML的《a》标记,连接到目标组件上。实际上属于HTML技术。

(3)      避免并发性问题

当多个客户端访问同一个web时候可能导致并发性问题,解决方法:根据实际需求,合理解决Servlet中变量作用域类型,局部变量、全局变量的问题;在Servlet的services()方法中,把操纵共享数据的代码块作为同步代码块。

(4)      访问Servlet容器中其他Web应用

通过设置CrossContext的属性可以实现互访

2、 看过JSP技术猛然觉得,学习HTML和Servlet都是为了JSP,它才是大BOSS。

JSP技术和HTML使用比较相似,可以直观的表达网页的内容和布局。但是JSP本质上是Servlet因此能和Servlet一样动态生成网页的内容。

主要的学习点包括:模板文本、JSP指令、JSP声明、Java程序片段和Java表达式,Jsp的请求转发、包含和异常处理等等。

教材中给的实例不算多,对于JSP的学习只能算是皮毛,需要更多实践的机会才能更好的掌握其语法知识。

3、 JavaWeb和数据库mySQL进行连接

因为之前学习过数据库的知识,所以配置起来并没有遇到很大的麻烦,运行了书本上的实例,网上书店,还没来得及细细消化,这个例子是对于学习JSP和数据库连接的好材料,明天继续看。

相关文章:

  • FileItem类
  • JSP中EL表达式语言不能使用的解决方法
  • myeclipse中文乱码,JSP页面乱码
  • Tomcat中文乱码问题的原理和解决方法
  • java的web.xml中出现ERROR:Editor model does not support child element taglib of web
  • quote symbol expected异常
  • JAVA操作properties文件
  • JSP九个隐式对象
  • JSTL标签
  • iReport4.6+Tomcat+JavaBean数据源报表1
  • iReport4.6.0图表操作
  • Ant配置小问题
  • jasperreport开发实例及问题
  • jasperreport ireport PDF中文字体完美解决方案
  • iReport+jasperreport创建子表的几种方式(1)
  • [nginx文档翻译系列] 控制nginx
  • 4. 路由到控制器 - Laravel从零开始教程
  • CSS 三角实现
  • django开发-定时任务的使用
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • Javascript Math对象和Date对象常用方法详解
  • Linux下的乱码问题
  • linux学习笔记
  • Linux中的硬链接与软链接
  • ng6--错误信息小结(持续更新)
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Puppeteer:浏览器控制器
  • Redash本地开发环境搭建
  • Vue小说阅读器(仿追书神器)
  • 从0实现一个tiny react(三)生命周期
  • 从零开始的无人驾驶 1
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 小程序01:wepy框架整合iview webapp UI
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • # 计算机视觉入门
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #传输# #传输数据判断#
  • #考研#计算机文化知识1(局域网及网络互联)
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $forceUpdate()函数
  • (02)Hive SQL编译成MapReduce任务的过程
  • (04)odoo视图操作
  • (c语言)strcpy函数用法
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (排序详解之 堆排序)
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (小白学Java)Java简介和基本配置
  • (转)nsfocus-绿盟科技笔试题目
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .net2005怎么读string形的xml,不是xml文件。