jsp问题

jiappkpp 2008-03-20 04:14:31
下面是一个登陆数据库的页面 它调用了一个sqlbean.java 我应该怎样修改才把它们两个放到一个jsp 页面上让他有效运行呢 <%@page contentType="text/html;charset=GBK"%>
<%@page import="java.util.*"%>
<%@ page import="java.sql.*" %>
<jsp:useBean id="sqlbean" scope="page" class="database.sqlbean">
</jsp:useBean>
<html>
<head>
<title> 登录检查 </title>
</head>
<body>

<%

String userType = request.getParameter("userType");


String regName=sqlbean.AsciiToChineseString(request.getParameter("username").trim());
String regPassword=request.getParameter("password");
regPassword=regPassword.trim();
session.setAttribute("originname",regName);

if (userType.equals("Y"))
{
ResultSet rs=null;
String sqlstring = "select * from chatuser where username='"+ regName +"' and password='"+ regPassword + "'";;
rs = sqlbean.executeQuery(sqlstring);
if(rs.next())
{

String experience=rs.getString("experience");
String userlevel=rs.getString("userlevel");
session.setAttribute("experience",experience);
session.setAttribute("userlevel",userlevel);

regName = regName + "[会员]";

session.setAttribute("username",regName);

rs.close();
sqlbean.freeRs(rs);
response.sendRedirect ("chat.jsp");
}
else
{
rs.close();
out.print(" <script> alert(\"用户名/密码错误!\");");
out.print("window.location = \"login.jsp\" </script> ");
}
}
else
{
if((regName.length() <1) ¦ ¦(regName.length()> 10)) {
out.print(" <script> alert(\"游客名不能超过6个字长!\");window.close(); </script> ");
return;
}

Character c=new Character(' ');
for(int i=0;i <regName.length();i++) {
if(regName.charAt(i) == c.charValue()) {
out.print(" <script> alert(\"名字中间不能有空格!\");window.close(); </script> ");
return;
}
}
regName = regName + "[非会员]";
}

synchronized (application)
{
Vector UserName=null;
UserName= (Vector)application.getAttribute("UserName");
if(UserName==null) {
UserName= new Vector(30,10);
}

if(UserName.contains(regName)) {
out.print(" <script> alert(\"你的名字正在被人使用!\");window.close(); </script> ");
return;
}

if(regName!=null ) {
UserName.addElement(regName);
session.putValue("username", regName);
}


application.setAttribute("UserName",UserName);
out.print(" <script> window.location=\"chat.jsp\" </script> ");
}
%>
</body>
</html>
下面是那个sqlbean.java
package database;

import java.io.PrintStream;
import java.sql.*;
import sun.io.ByteToCharConverter;

public class sqlbean
{

private Connection con;
private ResultSet rs;

public sqlbean()
{
}

public static Connection getConnection()
throws SQLException
{
try
{
Class.forName("org.gjt.mm.mysql.Driver");
}
catch(ClassNotFoundException ex)
{
ex.printStackTrace();
return null;
}
return DriverManager.getConnection("jdbc:mysql://localhost:3306/wsxk", "root", "1234567"));
}

public ResultSet executeQuery(String sql)
{
try
{
con = getConnection();
Statement statement = con.createStatement();
rs = statement.executeQuery(sql);
}
catch(SQLException sqlexception) { }
return rs;
}

public int executeUpdate(String sql)
{
int count = 0;
Statement stmt = null;
try
{
con = getConnection();
stmt = con.createStatement();
count = stmt.executeUpdate(sql);
}
catch(SQLException sqlexception) { }
finally
{
try
{
if(stmt != null)
{
stmt.close();
}
if(con != null)
{
con.close();
}
}
catch(SQLException ex)
{
System.err.print(ex);
}
}
return count;
}

public void freeRs(ResultSet rs)
{
try
{
if(rs != null)
{
rs.close();
con.close();
}
}
catch(Exception exception) { }
}

public static String AsciiToChineseString(String s)
{
char orig[] = s.toCharArray();
byte dest[] = new byte[orig.length];
System.out.println("111111");
System.out.println(s);
for(int i = 0; i < orig.length; i++)
{
dest[i] = (byte)(orig[i] & 0xff);
}

try
{
ByteToCharConverter toChar = ByteToCharConverter.getConverter("gb2312");
return new String(toChar.convertAll(dest));
}
catch(Exception exception)
{
System.out.println("222222222");
}
System.out.println(s);
return s;
}
}
...全文
76 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
梅小西Echo 2008-03-21
  • 打赏
  • 举报
回复
假如你这个工程名叫course,那么建个文件夹,叫course,然后里面放jsp,或者其他如html的文件和一个叫WEB-INF的文件夹,在WEB-INF里面有classes文件夹和lib文件夹。classes当然放java文件编译后的.class文件,lib呢,只要你的jsp没有用到超过jdk的包,可以不用管,就让它空着。

把course放在tomcat的webapps目录下,启动tomcat,然后在浏览器里输入http:\\127.0.0.1:8080\course\login.jsp就可以了
kanebluba 2008-03-21
  • 打赏
  • 举报
回复
可以用javaBean,在JSP页面里根据后台的类class sqlbean 创建一个BEAN,直接调用就可以了.
jiappkpp 2008-03-21
  • 打赏
  • 举报
回复
我就是第一次做这个 一点都不懂呀 我就是想让那个logincheck.jsp调用的sqlbean.java放到同样的页面上去
因为那个sqlbean中没有main函数 它就不能单独编译过 我就是想把把的代码放到logincheck的页面中这样就可以不用调用sqlbean了把
或者还有什么方法能让sqlbean.java能单独编译成功的方法吧 我现在不清楚 书上也没有
tree006 2008-03-21
  • 打赏
  • 举报
回复
你是不是 不知道在 jsp里如何连接数据库啊??

JAVA代码是完全可以加进JSP的

你直接放就好了
a1405 2008-03-21
  • 打赏
  • 举报
回复
怎样修改才把它们两个放到一个jsp 页面上让他有效运行呢

你是不是想用一个jsp而不用java类呢?

要是这样的话把他们写到一个jsp页中就行
宇天平 2008-03-21
  • 打赏
  • 举报
回复
呵呵,帮顶起!!!

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧