`
zhulin014
  • 浏览: 52877 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

我的JSP学习笔记

阅读更多

 

 

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);

 

Sessionvoid setAttribute(String,Object)

                    Object getAttribute(String)

                    Void remove(String)

           tomcatconf/web.xml中设置session时间,单位为分钟:

           <session-config><session-timeout>30</session-timeout></session-config>

                   

Applicationvoid 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){}
 }
}

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    JSP学习笔记 jsp学习资料

    本资料包“JSP学习笔记”提供了丰富的学习资源,适用于初学者和有一定经验的开发者,用以提升对JSP的理解和应用能力。 ### 1. JSP基本概念 - **页面组成**:JSP页面由静态内容(HTML、CSS、JavaScript)和动态内容...

    JSP Servlet 学习笔记 第2版 林信良 随书光盘 共三卷

    JSP Servlet 学习笔记 第2版 林信良 随书光盘 第3卷

    JSP&Servlet学习笔记.pdf

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。  本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...

    JSP学习笔记总结.doc

    **JSP学习笔记总结** **第 1 章 JSP 和 Web 页面的交互** 1.1 JSP(JavaServer Pages)是Java技术在Web开发中的应用,它允许开发者将静态HTML与动态Java代码结合起来,生成动态网页。通过在HTML页面中嵌入Java代码...

    Servlet &JSP学习笔记NetBeans源代码

    在这个"Servlet & JSP学习笔记NetBeans源代码"压缩包中,你将找到一系列与Servlet和JSP相关的示例代码,这些代码是基于NetBeans IDE编写的,并且是在Tomcat服务器上运行的。 Tomcat是一个开源的轻量级Web服务器和...

    韩顺平JSP学习笔记+源代码

    ### 韩顺平JSP学习笔记与源代码解析 #### J2EE的十三种技术(规范) 在韩顺平老师的教学笔记中,首先提到了J2EE平台下的十三种核心技术,这些技术对于理解JSP及其相关的Web开发环境至关重要。 1. **Java数据库...

    林学良Jsp&Servlet学习笔记

    **林学良Jsp&Servlet学习笔记**: 这份学习资料可能是对JSP和Servlet基础知识的系统性讲解,涵盖了上述概念和原理,适合初学者入门。通过阅读这份笔记,你可以了解JSP和Servlet的基本语法、生命周期、以及如何将它们...

    JSP_Servlet学习笔记(第2版).pdf

    《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet;或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 《JSP & Servlet学习笔记(第2版)》针对Servlet 3.0的...

    [JSP&Servlet;学习笔记(第2版)]

    **JSP(Java Server Pages)与Servlet...这个**[JSP&Servlet学习笔记(第2版)]**会涵盖这些主题,并可能包括示例代码、最佳实践和常见问题解答,帮助读者全面掌握JSP和Servlet的使用技巧,进一步提升Java Web开发能力。

    jsp学习笔记总结(收集)

    《jsp学习笔记总结(收集)》 在IT领域,Java Server Pages(JSP)是一种用于构建动态网页的技术,它将HTML、CSS、JavaScript等客户端代码与Java代码结合在一起,使得开发者能够轻松地创建数据驱动的Web应用程序。...

    jsp完整学习笔记(完整版)

    **JSP完整学习笔记概述** 本笔记是作者在专业培训学校学习JSP的总结,旨在为读者提供一个全面了解和掌握JavaServer Pages (JSP) 技术的资源。JSP是Java平台上的动态网页技术,它允许开发人员将静态HTML内容与动态...

    JSP网络编程学习笔记源代码 part2

    书 名: JSP网络编程学习 封面 笔记 作 者:傅进勇 李波 出版社: 电子工业出版社 出版时间: 2008 全书内容分为7篇,共23章,第一篇为“JSP应用开发基础”,主要讲述JSP技术背景情况、JSP技术的基本原理及开发...

    jsp/servlet个人学习笔记

    学习 JSP 和 Servlet 要注重理论与实践相结合,不仅要理解它们的工作原理,还要通过编写实际项目来提升技能。同时,不断关注新技术,如 Spring Boot 和微服务架构,这将有助于你更好地适应 Java Web 开发的未来趋势...

    JSP学习笔记(三)-----使用JSP处理用户注册和登陆

    ### JSP学习笔记(三)——使用JSP处理用户注册和登录 #### 一、概述 本篇笔记介绍了一个简单的用户注册与登录系统的实现过程,该系统由四个JSP页面构成,分别是`login.jsp`、`test.jsp`、`test2.jsp`以及未给出具体...

    JSP学习笔记-2.pdf

    JSP学习笔记-2.pdf

    吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案

    吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案 本资源为吉林大学珠海学院JSP&Servlet学习笔记(第二版)的课后答案,涵盖了JSP和Servlet相关的知识点。本笔记共分为九章,每章节都包含了相关的问题答案,...

    JSP学习笔记截屏1

    在《JSP学习笔记截屏1》中,我们可以预见到这是一份关于学习JSP过程中的记录,包含了韩顺平老师的视频教程内容和个人的学习心得。韩顺平老师是一位知名的Java和Web开发领域的讲师,他的课程通常深入浅出,易于理解,...

    Servlet-JSP学习笔记

    老杜课堂Servlet-JSP学习笔记

Global site tag (gtag.js) - Google Analytics