零散小知识点

一、一般用()创建InputStream对象,表示从标准输入中获取数据,用()创建OutputStream对象,表示输出到标准输出设备中。

答:System.in 和 System.out 是java中的标准输入输出流,一般情况下代表从控制台输入和输出到控制台

二、在Struts框架中如果要使用Validation作验证的话,需要使用以下哪个Form?

A、ActionForm  B、ValidatorActionForm  C、ValidatorForm D、DynaValidatorActionForm

答:D---可以看下 使用Validation框架验证数据

三、jsp的内置对象有哪九个?

答:JSP内置对象有:
1.request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
2.response对象:response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。
3.session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.
4.out对象:out对象是JspWriter类的实例,是向客户端输出内容常用的对象
5.page对象:page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例
6.application对象:application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。
7.exception对象:exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象
8.pageContext对象:pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本 类名也叫pageContext。
9.config对象:config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)

四、jsp页面的page 各个属性及功能

答:page常用指令表:
1.language=”ScriptLanguage” :指定JSP Container用什么语言来编译,目前只支持JAVA语言。默认为JAVA
2.extends=”className” :定义此JSP网页产生的Servlet是继承哪个,一般不需要设置,在默认情况下,jsp页面默认的父类是HttpJspBase。
3.import=”importList” :定义此JSP网页要使用哪些Java API,比如 <%@page import="java.sql.*"% >
4.session=”true|false” :决定此页面是否使用session对象。默认为true
5.buffer=”none|size in kb” :决定输出流(Input stream)是否又缓冲区。默认为8kb
6.autoFlush=”true|false” :决定输出流的缓冲区慢了后是否需要自动清除,缓冲区慢了后会产生异常错误(Exception).默认为true
7.isThreadSafe=”true|false” :是否支持线程。默认为true
8、errorPage=”url” :如果此页发生异常,网页会重新指向一个url,注:存在 errorPage 属性时,isErrorPage 是必须的属性值且一定为 false
9、isErrorPage=”true|false” :表示此页面是否为错误处理页面。默认为false,此时不能使用exception对象--若为error.jsp 页面一定要有isErrorPage 属性且值为 true
10、contentType=”text/html;charset=gb2312” :表示MIME类型和JSP的编码方式。笔者使用例左
11、pageEncoding=”ISO-8859-1” :编码方式。(笔者已经加入使用的编码)
12、isELLgnored=”true|false” :表示是否在此JSP页面中EL表达式。true则忽略,反之false则支持。默认为false 

五、form标签里面的 enctype属性--一般在上传文件时候才使用,普通默认不用写

首先知道enctype这个属性管理的是表单的MIME编码。共有三个值可选:
1、application/x-www-form-urlencoded
2、multipart/form-data
3、text/plain
其中application/x-www-form-urlencoded是默认值,作用是设置表单传输的编码。例如我们在AJAX中见过xmlHttp.setRequestHeader("Content-Type","application/x-www-form- urlencoded");如果不写会报错的,但是在html的form表单里是可以不写enctype=application/x-www-form-urlencoded,因为默认的HTML表单就是这种传输编码类型的。
而multipart/form-data是用来制定传输数据的特殊类型的,主要就是我们上传的非文本的内容,比如图片或是是mp3等等。
text/plain是纯文本传输的意思,在发邮件的时候要设置这种编码类型,否则会出现接收时编码混乱的问题。网络上经常拿text/plain和 text/html做比较,其实这两个很好区分,前者用来传输纯文本文件,后者则是传递html代码的编码类型,在发送头文件时才用得上。①和③都不能用于上传文件,只有multipart/form-data才能完整的传递文件数据

可以参考: HTML <form> 标签的 enctype 属性  from表单中enctype属性 表单form的enctype="multipart/form-data"体会

六、mybatis插入一条数据返回id(注:高并发的时候不支持,并且需要数据库里面表为自增类型)

<insert id="save" parameterType="com.entity.Teacher" useGeneratedKeys="true" >
 <selectKey keyProperty="id"  resultType="int" order="AFTER" >
  SELECT LAST_INSERT_ID() AS VALUE
 </selectKey>
   insert into teacher(name,phone)
   values(#{name},#{phone})
</insert> <!-- 上面的selectKey放在上面 insert 语句下面没有影响 -->

或者

<insert id="save" parameterType="com.entity.Teacher" useGeneratedKeys="true" >
   insert into teacher(id,name,phone)
   values(#{id},#{name},#{phone})
 <selectKey keyProperty="id"  resultType="int" order="AFTER" >
  SELECT LAST_INSERT_ID() AS VALUE
 </selectKey>
</insert>  <!-- 注意:这时间千万不能插入 id的值,否则返回的id 为 0 -->

或者:  在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名!有这两个属性的时候不用写上面的selectKey---

  <insert id="insert" parameterType="Spares"  
        useGeneratedKeys="true" keyProperty="id"> 
        insert into spares(spares_id,spares_name, 
            spares_type_id,spares_spec) 
        values(#{id},#{name},#{typeId},#{spec})  
  </insert>

可以参考下  mysql中的last_insert_id()

你可能感兴趣的:(零散小知识点)