北大青鸟学子总结JSP[优秀]_北大青鸟html总结
北大青鸟学子总结JSP[优秀]由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“北大青鸟html总结”。
北大青鸟学员学习总结-JSP
发布日期:2010-09-10 18:12:07 浏览次数:151
一、什么是JSP?
JSP是Java Server Pages的简称,是由Sun公司于1999年推出的一种动态网页技术标准。JSP在传统的HTML网页中加入了Java程序片段和JSP标记,可以根据用户的不同操作显示出不同的效果。JSP的工作方式为请求/响应式,客户端发送请求,服务端进行处理,并返回处理结果。
JSP程序需要运行在特定的Web服务器中,例如:Tomcat、WebLogic等,所有JSP文件,在执行的时候都会被服务端的JSP引擎转换为Servlet程序(Java源文件),然后调用Java编译器将Servlet程序编译为cla文件(字节码文件),并由Java虚拟机(JVM)解释执行。
二、集合Collection是最基本的集合接口,一个Collection代表一组元素。List 允许插入重复的元素
ArrayList 非同步,顺序存储结构,对其进行查找、修改效率较高 Vector 同步,LinkedList 非同步,链式存储结构,对其进行增加、删除效率较高 Set 不包含重复元素
HashSet 非同步,迭代时间与Set容量成正比。
LinkedHashSet 非同步,链式存储结构,可以保证迭代的顺序,迭代时间与Set大小成正比。Map 键值对集合 遍历Map。
TreeMap 非同步,其顺序可以根据构造方法的不同而不同。HashMap 非同步,允许使用null值和null键。不保证映射的顺序。Hashtable ConcurrentModificationException异常 不允许并发修改时,但进行了并发修改。对上述非同步问题均可采用 Collections.synchronized**()方法进行处理。
三、乱码的处理
用post提交,用request.setCharacterEncoding(“编码”)处理即可;用get 提交,byte[] b=squadName.getBytes(“iso-8859-1”);squadName=new String(b,“gbk”);直接传汉字,URLEncoder.encode(“呵呵”,“编码”);接收时用get方式接收即可。
四、跳转的不同实现方式 HTML 用表单进行跳转;超链 JSP response.sendRedirect(“URL”);request.getRequestDispatcher(“URL”).forward(request,response);JS window.location=“URL”;
五、隐式对象
request,response,seion,application,out,pageContext(常用)exception page config(少见)
request对象常用方法 getParameter(String name)String[ ] getParameterValues(String name)void setCharacterEncoding(String charset)getRequestDispatcher(String path)当isErrorPage=“true”时 可以使用exception 当isErrorPage=“false” 时页面中不能使用 Exception pageContext与seion和application相似 代表当前页的 自定义标签中比较常用 pageContext.getOut 得到输出对象
getRequest getservletContext 得到一个application对象
四个作用域对象pageContext request seion application 从小到大 它们都有三个相同的方法: setAttribute getAttribute removeAttribult pageContext.findAttribute(“abc”)在作用域中从小到大的寻找abc
六、常见的异常
异常是由多种情况引起的,一定要按照步骤慢慢来。为了避免少报异常,按照下面的步骤一步一步来。
1、修改java类后,重新启动下服务。
2、修改了JSP页面后,保存了在进行测试。
3、若修改了页面名称,但是访问不到,重新部署一下工程,基本上就可以解决了。
4、有些情况需要清除Tomcate生成的代码,让其重新生成;Project--Clean--……;
404页面找不到 查看URL是否正确;查看Tomcate是否启动;重新部署,重启服务。500页面有错误 如果是JSP页面有问题,往往会告诉你哪一行; java.lang.NullPointerException 空异常,java.net.BindException: Addre already in use: JVM_Bind:8080 端口被占用;javaw.exe;java.lang.NumberFormatException 转换异常;
java.lang.ClaNotFoundException 程序找不到指定的类; java.lang.SQLException sql引发的异常; java.lang.ClaCastException 对象类型转换失败; ArrayIndexOutOfBoundsException 数组越界; NoSuchMethodException 方法未找到;
七、Cookie Cookie是保存在客户端的文件,用来记录用户的信息。写
Cookie cookie=new Cookie(“user”,“123456”);cookie.setMaxAge(60*60*24);//设置cookie的时间 response.addCookie(cookie);读
Cookie[] cs= request.getCookies();for(Cookie cook:cs){ out.print(cook.getName());out.print(cook.getValue());}
八、对MyEclipse的一些优化
1、Myeclipse不支持泛型
设置MyEclipse所使用的jdk版本,5.0以上。window--preferences--java--installed JREs window--preferences--java--compiler,将默认jdk调到5.0以上。
2、MyEclipse不自动编译
window--preferences--java--Compiler--Building--Build path problems 勾选abort build when build path errors occur3、修改.jsp文件默认打开方式
window--preferences--General--Editors--File Aociations==File types:*.jsp ==Aociated editors:MyEclipse JSP Editor(default)……
九、JDBC总结
DriverManager :依据数据库的不同,管理JDBC驱动 Connection :负责连接数据库并担任传送数据的任务
Statement :由 Connection 产生、负责执行SQL语句 ResultSet:负责保存Statement执行后所产生的查询结果
String URL=“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=news”;Cla.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);Connection con = DriverManager.getConnection(URL,“sa”,“sa”);注:上述连接方式是针对 SQLServer 2005,其他数据库请参考相应的文档
十、其他 JSP页面元素包括 静态内容 HTML静态文本
指令 以“<%@ ”开始,以“%> ” 结束。比如:<%@ include file = “ Filename” %> 表达式 <%=Java表达式 %> 小脚本 <% Java代码 %> 声明 <%!方法 %> 标准动作 以“”结束,如 注释 <%--这也是注释,但客户端不能查看到--%> 数据库中的内容要在页面中显示,若包含页面代码,会解析为HTML文件。解决办法;
1、需要在两端加上;这样做页面不怎么美观。
2、自定义方法,解析字符串,替换其中标签。例如:把"
——太原北大青鸟博众校区 S2T102班 李建楷