2009年9月25日
从头开始学jsp,对它有兴趣是第一要事。以下几个案例非常的简单,不需要用到别的知识。用来先对jsp有所感知是个不错的注意。
案例1 :displace.jsp
<%@ page contentType="text/html; charset=GB2312" %>
<form name="form1" action="displace.jsp" method="post">
<br><br>
<input type="text" name="Vals"><input type="text" name="Amount">
<input type="submit" name="Submit" value="Submit">
</form>
<%
int intLocal_Vals, intLocal_Amount;
if(request.getParameter("Vals")!=null && request.getParameter("Amount")!=null)
{
intLocal_Vals = Integer.parseInt(request.getParameter("Vals"));
intLocal_Amount = Integer.parseInt(request.getParameter("Amount"));
//下面进行位移操作
intLocal_Vals=intLocal_Vals>>intLocal_Amount;
out.print("<br>位移后的值为:" +intLocal_Vals);
}else{
out.print("位移值或位移量不能为空!");
}
%>
案例1的所有操作都在一个页面内完成,一般不会出现什么问题,主要用来认识一下jsp页面的组成结构。
案例2 :准备工作:在d:盘建立一个名为count.txt的空文本文档。
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<html>
<head>
<title>文字计数器</title>
</head>
<body bgcolor="#ffffff">
<%@page import="java.io.*" %>
<%
BufferedReader file;
//BufferedReader 对象用于读取文件数据
String countFile="d:/count.txt";
//标示文件的地址
file=new BufferedReader(new FileReader(countFile));
//将file(BufferedRead的对象)指向文件的地址
String readStr=null;
//来存取文件的内容
int writeStr=1;
//写入文件的变量 如果文件中访问是0 则写入为1
try
{
readStr=file.readLine();//读取文件内容
}
catch(IOException e){
System.out.println("read wrong");
}
if(readStr==null) readStr="no record";
else {
writeStr=Integer.parseInt(readStr)+1;//读取的内容+1
}
try{
PrintWriter pw;
//PrintWriter用于写文件的一个类
pw=new PrintWriter(new FileOutputStream(countFile));
//指定文件
pw.println(writeStr);
//写入变量writeStr的值
pw.close();
}
catch(IOException e){
out.println(e.getMessage());
}
%>
<p align="center">
<h1>文字计数器</h1>
<h3>你是本站第</h3>
<font color="ff0000" size="7">
<%=readStr%></font>
<h3>个读者</h3>
</body>
</html>
案例2主要是和外部文件进行了简单的通讯,用到的主要是java代码。
案例3:准备工作:安装mysql;将mysql的JDBC驱动器拷贝到Tomcat\common\lib和Tomcat\shared\lib 下。
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page language="java" import="java.sql.*"%>
<%
Connection conn = null; //连接
Class.forName("org.gjt.mm.mysql.Driver"); //驱动
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db","root","8"); //建立连接
if(conn==null){
out.println("get Conn Error");
}
Statement stmt=conn.createStatement();
ResultSet RS_result=null;
%>
<html>
<head>
<title>学习</title></head>
<body>
<%
RS_result=stmt.executeQuery("select * from user");
String Name,Password;
while(RS_result.next())
{
Name=RS_result.getString("name");
Password=RS_result.getString("password");
%>
<P><%=Name%>
<%=Password%></p>
<%
}
stmt.close();
conn.close();
%>
</body>
</html>
案例3里其实只是用java实现了一个数据库连接。
案例4:
login.jsp
<%@ page contentType="text/html; charset=GB2312" %>
<html>
<head>
<title>login</title>
</head>
<body>
<form name="Sayhi" method="post" action="Jsp2.jsp">
<p>请输入用户信息:</p>
<p>姓名 <input type="text" name="name" size="12"></p>
<p>密码 <input type="password" name="password" size="12"></p>
<input type="submit" value="确认">
<input type="reset" value="取消">
</body>
</html>
handle.jsp
<%@page import="java.sql.*" contentType="text/html;charset=gb2312" %>
<html>
<head>
<title>认证</title>
</head>
<body>
<%
String Name=request.getParameter("name");
String Password=request.getParameter("password");
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url="jdbc:mysql://localhost:3306/db";
String user="root";
String password="8";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from user where name='"+Name+"' and password='"+Password+"'";
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()){
out.print("恭喜你,登陆成功!");
}
else{
out.print("抱歉!登陆不成功!");
}
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
案例4是jsp最常用的功能,实现用户登陆的问题。
案例5:
CountTest.java
package Test;
public class CountTest {
private static int count = 0;
public CountTest() {
}
public static int getCount() {
count++;
return count;
}
public static void setCount(int a) {
count =a;
}
}
counter.jsp
<%@page import="Test.*"%>
<HTML>
<HEAD>
<TITLE>
counter
</TITLE>
</HEAD>
<BODY>
<H1>
JBuilder Generated JSP
</H1>
<jsp:useBean id="bean0" scope="application" class="Test.CountTest" />
<%
out.println("The Counter is : " + bean0.getCount() + "<BR>");
%>
</BODY>
</HTML>
案例5是在java完成处理,在jsp里完成显示的例子。
posted @
2009-09-25 09:07 达飞Plus 阅读(145) |
评论 (0) |
编辑 收藏
下个星期要考数据库,现把基本知识稍做整理:
sql的概念:
SQL (Structured Query Language结构化查询语言)是目前使用最广的并且是标准的数据库语言。
sql语言的构成:
SQL语言包括约30条语句,每条语句请求DBMS完成一个动作.
每条SQL语句都以一个动词开头,这是描述该语句功能的关键字.接着是一个或几个子句.
子句指定该语句所作用的数据,或该语句行为的更详细说明.
每个子句都以一个关键字开头.有包含表名和列名,有含有附加关键字,常数或表达式.
sql的命名:
数据库中的对象都有一个唯一名字标识.
SQL语句中用名字标识该语句作用的数据库对象.
ANSI/ISO SQL标准规定的名字有表名(标识表),列名(标识列)和用户名(标识数据库的用户)
许多SQL实现支持附加命名对象
sql的数据类型:
定长字符串.(CHAR(LEN),CHARACTER(LEN)
整数.(NUMBER(P,S) ,SMALLINT,INTEGER)
小数.(NUMBER(P,S) ,DECIMAL(P,S))
浮点数.(NUMBER(P,S),FLOAT(P),REAL)
可变长字符串.(VARCHAR2(N),VARCHAR(N))
金额.(NUMBER(P,S),MEONEY))
日期和时间.(DATE,DATETIME,TIMESTAMP)
长文字.(LONG,LONG VARCHAR)
无结构字节流.(RAW,LONG RAW)
sql的表达式
在SQL语言中,表达式用于计算从数据库中检索的值以及用于搜索数据库的值.
ANSI/ISO SQL标准规定表达式中可用四种算术运算:+,-,*,/.还可以用括号组成更复杂的表达式.
ANSI/ISO标准还规定,在必要的时候整数可自动转换成小数,小数可自动转换为浮点数.
有的产品还支持日期运算表达试.
ORACLE中的字符连接运算使用‘||’ 运算符
sql的内部构造函数
大多数SQL实现都包含一组有用的内部函数.
±数值处理函数.(ABS,ROUND,TRUNC,SQRT)
±字符处理函数.(SUBSTR,TRIM,UPPER)
±日期处理函数.(ADD_MONTHS,MONTHS_BETWEEN)
±转换函数.(CONVERT,TO_DATE,TO_CHAR)
±其它函数.(NVL,USER,USERENV,UID)
内部构造函数在SQL表达式中可用于相同数据类型的常数出现的任何地方.
sql的无数据处理(NULL值)
SQL通过空值的概念来处理数据不存在,不确定或不能用的情况.
NULL不同于一般的实际数据,而是一个表示数据不存在或未知的标志.
在许多情况下,NULL要求DBMS特殊处理.±例如在ORACLE中通过NVL内部构造函数来处理这种情况.
posted @
2009-09-25 09:02 达飞Plus 阅读(155) |
评论 (0) |
编辑 收藏