工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1616|回复: 3

JSP入门一例

[复制链接]
发表于 2006-3-20 23:41 | 显示全部楼层 |阅读模式
在后院发了一帖"怎样学习J2EE",结果得到两位版主热心指教.所以我决定回报一帖,不过这是给那些和我一样的初学者讨论交流的,当然也希望高手指点啦!

好,闲话不说.学习J2EE第一步学JSP,我看了下书,上网找找资料,就想:以实战的方法来学可能较好.于是我以学校的"现代教务管理系统"(http://jwc.gdut.edu.cn/jwgl/(ak5o0i55kwyfiunu1dbkpb45)/default2.aspx)为样式,做个小系统.现在是初级进行中,只做了登录的工作.为了代码简洁,下面我尽量写简.

  1. default.jsp
  2. <form action="Login.jsp" method="post">
  3. ...
  4. </form>
复制代码

我完全照抄了学校的那个登录界面,只改了相应名字,想看的话就去查看源文件代码吧.
我用SQL2000创建了三个表,分别存储学生,老师,管理员的信息.
表名: studentUser
列名: ID,userName,password
表名: teacherUser
列名: ID,userName,password
表名: adminUser
列名: ID,userName,password
为了简单,我把所有字段设置为char类型,在JAVA中对应是String类型.
在控制面版,管理工具,ODBC数据源,用户DSN设置了名为Test的数据源

  1. Login.jsp

  2. <%@ page language="java" import="java.sql.*,java.io.*" errorPage="errorPage.jsp"%>
  3. <%
  4.         Connection conn=null;
  5.         String userTable=request.getParameter("identification");//identification是三个单选按钮的名字
  6.         String userName=request.getParameter("userName");//表单中的输入的名字
  7.         String password=request.getParameter("password");//密码
  8.         String theURL="notWelcome.jsp";//设置转到的页面
  9.         try
  10.                 {
  11.                         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//先注册
  12.                         conn= DriverManager.getConnection("jdbc:odbc:Test","sa","");//连接
  13.                         PreparedStatement pstmt=conn.prepareStatement
  14.                                                         ("select * from "+userTable+" where ID=?");//这里的userTable不能像下面的userName用setString来设置,我只好用字符串连接了.
  15.                         pstmt.setString(1,userName);
  16.                         ResultSet results=pstmt.executeQuery();
  17.                                 results.next();//使用唯一的ID查询,结果只有一条记录
  18.                                 String temp=results.getString("userName");
  19.                                 userName=new String(temp.getBytes("GBK"),"ISO-8859-1");
  20. //中文编码一般是GBK或GB2312,而JSP中是ISO-8859-1,所以要转换
  21.                                 if(results.getString("password").trim().equals(password))
  22.                                 {
  23.                                        
  24.                                        
  25.                                         theURL="welcome.jsp";
  26.                                        
  27.                                 }       
  28.                         pstmt.close();
  29.                         conn.close();
  30.                 }
  31.                 catch(Exception e)
  32.                 {
  33.                                                       if(conn!=null)conn.close();
  34.                 }
  35. %>
  36. <html>
  37. <head><title>welcome</title>
  38. <meta http-equiv="contentType" content="text/html;charset=gb2312">
  39. </head>
  40. <body>
  41. <jsp:forward page="<%=theURL%>">
  42. <jsp:param name="userName" value="<%=userName%>" />
  43. </jsp:forward>
  44. </body>
  45. </html>
复制代码


<jsp:forward page="<%=theURL%>"><jsp:param name="userName" value="<%=userName%>" /></jsp:forward>
jsp:forward是为登录转到不同页面,同时还传了值
那么welcome.jsp就这样了(只为测试)

  1. <html>
  2. <head><title>welcome</title>
  3. <meta http-equiv="contentType" content="text/html;charset=gb2312">
  4. </head>
  5. <body>
  6. <br>
  7. <h1>
  8. <%=request.getParameter("userName")%>Welcome!</h1>
  9. </body>
  10. </html>
复制代码

notWelcome.jsp和 errorPage.jsp也很简单.这里就不给出了

以上程序在XP,JDK1.5,TOMCAT5.0,IE6,MS SQL2000这样的环境下测试通过.
发表于 2006-3-21 14:53 | 显示全部楼层
恭喜楼主迈出了万里长征的第一步...以后一起加油...
回复

使用道具 举报

头像被屏蔽
发表于 2006-3-25 18:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2006-3-25 19:14 | 显示全部楼层
<I>wool王</I>介绍了他的经验,你看看吧!
以后大家多多交流.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-8-30 17:28

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表