0. JSP简介
1. JSP语法
2. 内置对象
3. JAVABEAN
4. 文件操作
5. 数据库操作
6. JAVA SERVLET
附录一:数据库连接池的实现
附录二: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例子
|
7.JSP实用XML | DOM(document object model):sun公司提供了DOM解析器,解析XML文件的API(java API for XML parsing,JAXP) 附录:DOM例子 |
附录一:数据库连接池的实现 |
/** package dboperate; public class Conlib |
附录三: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> |