0. JSP简介
1. JSP语法
2. 内置对象
3. JAVABEAN
4. 文件操作
5. 数据库操作
6. JAVA SERVLET
7. JSP实用XML
附录一:数据库连接池的实现
附录二:servlet例子
附录三:servlet部署文件例子
附录四:DOM例子
0.JSP简介 |
配置环境变量:
JAVA_HOME——c:/java/jdk
CLASSPATH——c:/java/jdk/lib/tool.jar…
Path——c:/java/jdk/bin
CATALINA——c:\tomcat
CATALINA_BASE——c:\tomcat
CATALINA_HOME——c:\tomcat
Tomcat_home——c:\tomcat
Tomcat配置虚拟目录:
在conf/server.xml中修改:
<Context path=”/hello” docBase=”d:/myjsp/zhulin” debug=”0” reloadable=”true”/>
当多个用户同时访问一个JSP页面时,Tomcat服务器为每个客户启动一个线程,该线程负责执行常驻内存的字节码文件来响应响应客户的请求。
|
1.JSP语法 |
<%! %>标记之间声明变量和方法
<% %>程序片
<%= %>java表达式
<!-- --> html注释
<%-- --%>JSP注释
指令标记:
<%@ include file=”” %> 在JSP页面某处将某个文件整体嵌入
动作标记:
<jsp:include page=”a.jsp”/>或 <jsp:include page=”a.jsp”>
<jsp:param name=”a” value=”<%=mya %>”/> …
</jsp:include>
此标记也是将一个文件嵌入到当前页面,但与指令标记include所不同的是:
指令标记include:在编译阶段就处理所需的文件,页面执行速度快;
动作标记include:在JSP页面运行时才加载,处理速度慢,其优点是可以用param标签。
<jsp:forward page=”a.jsp”/>或 <jsp: forward page=”a.jsp”>
<jsp:param name=”a” value=”<%=mya %>”/> …
</jsp: forward >
停止当前页面的继续执行,而转向执行page指定的页面。且浏览器的url地址不变
|
2.内置对象 |
Request:可以获取客户机信息
Response:可以设置contentType属性
也可以设置HTTP头,如response.setHeader(“refresh”,”5”);//每5秒刷新一次
可以用于重定向:response.sendRedirect(url);
Session:void setAttribute(String,Object)
Object getAttribute(String)
Void remove(String)
在tomcat的conf/web.xml中设置session时间,单位为分钟:
<session-config><session-timeout>30</session-timeout></session-config>
Application:void setAttribute(String,Object)
Object getAttribute(String)
Void removeAttribute(String)
Out:输出流 如out.println();
|
3.JAVABEAN |
javabean类的构造方法必须是public,无参数的
使用bean时:1. 先倒入该类所在的包:<%@ page import="zhulin.*" %>
2. 加载要使用的bean:<jsp:usebean id="user" class="zhulin.user" scope="page" />
3. 使用<jsp:setProperty name="user" property="*" />可以将当前表单中的控件的值设定给BEAN
|
4.文件操作 |
File类:获取文件(文件夹)本身的一些信息
用文件字节流读写文件:FileInputStream:顺序地读取文件,只要不关闭流,每次调用read方法都顺序地读取源中其余内容。
FileOutputStream:顺序地些文件,只要不关闭流,每次调用write方法都顺序地向输出流中写入内容。
用文件字符流读写文件:FileReader,FileWriter
字节流不能直接操作Unicode字符,所以在读汉字时容易出现乱码,而字符流就可以避免这个现象。
BufferedReader,BufferedWriter类用来提高读写效率。
RandomAccessFile流的指向既可以作为源也可以作为目的地。
|
5.数据库操作 |
数据库连接方式:
1.JDBC-ODBC桥接器:优点:ODBC提供了数据库访问的通用平台,使得JDBC可以访问几乎所有类型的数据库。
缺点:使得应用程序依赖于ODBC,移植性差。
代码如:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:zhulin","sa","sa");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from users");
2.用纯JAVA数据库驱动程序:用JAVA语言编写的数据库驱动叫做纯JAVA数据库驱动。
代码如:Class.forName("org.gjt.mm.mysql.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/zhulin","sa","sa");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from users");
提高数据库操作的方法:
1. 数据库连接池
2. 使用预处理语句:Connection.prepareStatement(sql);
附录:数据库连接池的实现
|
6.JAVA SERVLET |
创建一个servlet对象的类就是编写javax.servlet.http包中的HttpServlet类的子类。
为了能让TOMCAT服务器用字节码文件创建对象,必须为Tomcat服务器编写一个部署文件。
tomcat服务器通过读取web.xml管理servlet对象。
HttpServlet类的方法:
init()
service()
destory()
doGet()
doPost()
HttpServletResponse类的重定向方法:sendRedirect():重定向的目标页面无法使用request获取用户提交的数据。
RequestDispatcher类的转发方法:forward():转发的目标页面可以使用request获取用户提交的数据。
附录:servlet例子
servlet部署文件例子
|
7.JSP实用XML |
DOM(document object model):sun公司提供了DOM解析器,解析XML文件的API(java API for XML parsing,JAXP)
附录:DOM例子
|
附录一:数据库连接池的实现 |
/** * 数据库连接池 * 作者:朱林 * 版本:1.0 * 日期:2009.12.23 */
package dboperate; import java.sql.*; import java.util.LinkedList;
public class Conlib { String conn_str="jdbc:mysql://localhost:3306/zhulin";//---------数据库 String username="zhulin";//---------------数据库用户名 String password="000000";//-------------数据库密码 int connum=10; //连接池容量 LinkedList<Connection> list; //存放Connection对象的链表 /** * 初始化 */ public Conlib() { try { Class.forName("org.gjt.mm.mysql.Driver"); } catch(java.lang.ClassNotFoundException e) { System.err.println("驱动登记异常:"+e.getMessage()); } list=new LinkedList<Connection>(); //创建连接池 for(int k=0; k<connum; k++) { try { Connection conn=DriverManager.getConnection(conn_str,username,password); list.add(conn); } catch(SQLException ex) { System.err.println("数据库连接异常:"+ex.getMessage()); } } } /** * 获取连接池中的一个连接 */ public synchronized Connection getOneConnection() { if(list.size()>0) { return list.removeFirst(); } else return null; } /** * 放回一个连接 */ public synchronized void putBackOneConnection(Connection con) { list.addFirst(con); } }
|
附录二:servlet例子 |
package com.akazam; import java.io.*; import javax.servlet.*; import javax.servlet.http.*;
public class helloservlet extends HttpServlet {
//init完成必要初始化工作 public void init(ServletConfig config) throws ServletException { super.init(config); }
//当servlet对象创建后会自动调用执行service函数,响应客户的请求 public void service(HttpServletRequest request,HttpServletResponse response) throws IOException { response.setContentType("text/html;charset=GBK"); //设置响应的MIME类型 PrintWriter out=response.getWriter(); //获取一个向客户发送数据的输出流 out.println("<html><body>hello</body></html>"); } }
|
附录三:servlet部署文件例子 |
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.akazam.helloservlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
|
附录四:附录:DOM例子 |
package com.akazam; import java.io.*; import org.w3c.dom.*; import javax.xml.parsers.*;
public class DOMparse { public DOMparse() { try { //创建DOCUMENT对象读取XML文件 DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=factory.newDocumentBuilder(); Document document=builder.parse(new File("d:\\a.xml")); Element root=document.getDocumentElement(); //获取根节点 NodeList elementNodes=root.getElementsByTagName("姓名"); //... } catch(Exception e){} } }
|
分享到:
相关推荐
本资料包“JSP学习笔记”提供了丰富的学习资源,适用于初学者和有一定经验的开发者,用以提升对JSP的理解和应用能力。 ### 1. JSP基本概念 - **页面组成**:JSP页面由静态内容(HTML、CSS、JavaScript)和动态内容...
JSP Servlet 学习笔记 第2版 林信良 随书光盘 第3卷
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...
**JSP学习笔记总结** **第 1 章 JSP 和 Web 页面的交互** 1.1 JSP(JavaServer Pages)是Java技术在Web开发中的应用,它允许开发者将静态HTML与动态Java代码结合起来,生成动态网页。通过在HTML页面中嵌入Java代码...
在这个"Servlet & JSP学习笔记NetBeans源代码"压缩包中,你将找到一系列与Servlet和JSP相关的示例代码,这些代码是基于NetBeans IDE编写的,并且是在Tomcat服务器上运行的。 Tomcat是一个开源的轻量级Web服务器和...
### 韩顺平JSP学习笔记与源代码解析 #### J2EE的十三种技术(规范) 在韩顺平老师的教学笔记中,首先提到了J2EE平台下的十三种核心技术,这些技术对于理解JSP及其相关的Web开发环境至关重要。 1. **Java数据库...
**林学良Jsp&Servlet学习笔记**: 这份学习资料可能是对JSP和Servlet基础知识的系统性讲解,涵盖了上述概念和原理,适合初学者入门。通过阅读这份笔记,你可以了解JSP和Servlet的基本语法、生命周期、以及如何将它们...
《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet;或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 《JSP & Servlet学习笔记(第2版)》针对Servlet 3.0的...
**JSP(Java Server Pages)与Servlet...这个**[JSP&Servlet学习笔记(第2版)]**会涵盖这些主题,并可能包括示例代码、最佳实践和常见问题解答,帮助读者全面掌握JSP和Servlet的使用技巧,进一步提升Java Web开发能力。
《jsp学习笔记总结(收集)》 在IT领域,Java Server Pages(JSP)是一种用于构建动态网页的技术,它将HTML、CSS、JavaScript等客户端代码与Java代码结合在一起,使得开发者能够轻松地创建数据驱动的Web应用程序。...
**JSP完整学习笔记概述** 本笔记是作者在专业培训学校学习JSP的总结,旨在为读者提供一个全面了解和掌握JavaServer Pages (JSP) 技术的资源。JSP是Java平台上的动态网页技术,它允许开发人员将静态HTML内容与动态...
书 名: JSP网络编程学习 封面 笔记 作 者:傅进勇 李波 出版社: 电子工业出版社 出版时间: 2008 全书内容分为7篇,共23章,第一篇为“JSP应用开发基础”,主要讲述JSP技术背景情况、JSP技术的基本原理及开发...
学习 JSP 和 Servlet 要注重理论与实践相结合,不仅要理解它们的工作原理,还要通过编写实际项目来提升技能。同时,不断关注新技术,如 Spring Boot 和微服务架构,这将有助于你更好地适应 Java Web 开发的未来趋势...
### JSP学习笔记(三)——使用JSP处理用户注册和登录 #### 一、概述 本篇笔记介绍了一个简单的用户注册与登录系统的实现过程,该系统由四个JSP页面构成,分别是`login.jsp`、`test.jsp`、`test2.jsp`以及未给出具体...
JSP学习笔记-2.pdf
吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案 本资源为吉林大学珠海学院JSP&Servlet学习笔记(第二版)的课后答案,涵盖了JSP和Servlet相关的知识点。本笔记共分为九章,每章节都包含了相关的问题答案,...
在《JSP学习笔记截屏1》中,我们可以预见到这是一份关于学习JSP过程中的记录,包含了韩顺平老师的视频教程内容和个人的学习心得。韩顺平老师是一位知名的Java和Web开发领域的讲师,他的课程通常深入浅出,易于理解,...
老杜课堂Servlet-JSP学习笔记