应该是request.getParameter("xxx");
这个从表单得到数据时没有输入值的缘故
这个从表单得到数据时没有输入值的缘故
解决方案 »
- jsp中如何用OracleDataSource连接数据库?
- 遇到这样的错误信息怎么解决?
- 复选筐 和 文本筐 在JSP中是怎么操作的??请指教!!!
- 求一个流行的论坛模板
- 怎么在UltraEdit里设置写jsp的环境,急。。。在线等待!
- jsp新手问题,达人教我这段代码哪里错啦。
- 能有一个jsp下载的程序代码吗?
- 如何控制数值小数位的输出?请大侠帮帮忙!我没分了,请谅解!
- JSP中的include,能否包含一个绝对路径?
- Content-Type: application/x-www-form-urlencoded的http请求如何使用流的方式获取param
- Servlet中的跳转
- 求jspsmartupload的压缩包
register_fconfirm.jsp<html>
<head>
<%@ page contentType="text/html;charset=gb2312" %>
<title>注册确认</title>
<link rel=stylesheet href="../style.css" type="text/css">
</head>
<body>
<center>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="bidBean" scope="page" class="firm.firm" />
<%
String name1= new String(request.getParameter("user_id").getBytes("8859_1"));
String password=request.getParameter("password");
String email=request.getParameter("email");
String url=request.getParameter("url");
String oicq=request.getParameter("oicq");
String sql="select * from user where name='" + name1 + "'";
ResultSet rs = bidBean.executeQuery(sql);
if(rs.next()) {
rs.close();
session.putValue("register_message","该会员已经存在,请重新输入!");
%>
<jsp:forward page="register.jsp"/>
<%
}
else
{
rs.close();
}
%>
<FORM METHOD=POST ACTION="ok_register.jsp">
<INPUT TYPE="hidden" name="user_id" value="<%=name1%>">
<INPUT TYPE="hidden" name="password" value="<%=password%>">
<INPUT TYPE="hidden" name="email" value="<%=email%>">
<INPUT TYPE="hidden" name="url" value="<%=url%>">
<INPUT TYPE="hidden" name="oicq" value="<%=oicq%>">
<font color="red"><%=name1%>你好,请检查您的注册信息是否正确!</font><br><br>
<table border="=1" cellspacing="0" width="332" bgcolor="#F0F8FF" bordercolorlight="#4DA6FF" bordercolordark="#ECF5FF">
<TR>
<TD>登录名:</TD>
<TD><%=name1%></TD>
</TR>
<TR>
<TD>密码:</TD>
<TD><%=password%></TD>
</TR>
<TR>
<TD>E-mail:</TD>
<TD><%=email%></TD>
<TR>
</TR>
<TD>主页:</TD>
<TD><%=url%></TD>
</TR>
</TR>
<TD>OICQ:</TD>
<TD><%=oicq%></TD>
</TR>
</TABLE>
<br>
<INPUT TYPE="submit" value="提交"class="buttonface">
<INPUT TYPE="button" value="修改" class="buttonface" onclick="history.back()">
</FORM>
</CENTER>
</body>
</html>
String name1= new String(request.getParameter("user_id").getBytes("8859_1"));
更改为
String name1= request.getParameter("user_id");
register_005fconfirm_jsp.java看看69行是什么代码.
String name1= new String(request.getParameter("user_id").getBytes("8859_1"));
更改为
String name1= request.getParameter("user_id");改了这一句还是不可以,同样的错误
tomcat是这样配置: C:\Tomcat 然后再配置环境变量;添加三个系统变量:JAVA_HOME: C:\JDK
TOMCAT_HOME: C:\Tomcat
CLASSPATH: %JAVA_HOME%\lib;%TOMCAT_HOME%\lib
大家帮我看看有没有错。
register_005fconfirm_jsp.java看看69行是什么代码.
70: rs.close();
71: session.putValue("register_message","璇ヤ細鍛樺凡缁忓瓨鍦?璇烽噸鏂拌緭鍏?");72: out.write("\r\n");
73: out.write(" ");
74: if (true) {
75: _jspx_page_context.forward("register.jsp");
76: return;
77: }
78: out.write('\r');
79: out.write('\n');
80:
81: }
register_005fconfirm_jsp.java文件的69行是69: if(rs.next()) { 是这有错吗??错误有org.apache.jsp.register_005fconfirm_jsp._jspService(register_005fconfirm_jsp.java:69)
明显,有对象没被初始化.
你rs.next()的时候怎么能rs.close()呢??????这样改:<jsp:useBean id="bidBean" scope="page" class="firm.firm" />
<%
String name1= new String(request.getParameter("user_id").getBytes("8859_1"));
String password=request.getParameter("password");
String email=request.getParameter("email");
String url=request.getParameter("url");
String oicq=request.getParameter("oicq");
String sql="select * from user where name='" + name1 + "'";
ResultSet rs = bidBean.executeQuery(sql);
if(rs.next()) {
session.putValue("register_message","该会员已经存在,请重新输入!");
%>
<jsp:forward page="register.jsp"/>
<%
}
rs.close();
%>
String name1= new String(request.getParameter("user_id").getBytes("8859_1"));
String password=request.getParameter("password");
String email=request.getParameter("email");
String url=request.getParameter("url");
String oicq=request.getParameter("oicq");
改成如下:
String name1= new String(request.getParameter("user_id").getBytes("8859_1"));
if(name1==null || name1.equals("") || name1.length()<=0)
name1 = "0";//此处设相应的操作
以下的几个变理做同样的处理
import java.sql.*;
public class firm
{
private Connection conn=null;
private Statement stmt=null;
ResultSet rs=null;
String url ="jdbc:postgresql://localhost/testcc" ;
//testcc为数据库名
String user="postgres";
String password="1234";
public firm()
{
try
{
Class.forName("org.postgresql.Driver").newInstance();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
conn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
public void executeUpdate(String sql)
{
stmt=null;
rs=null;
try
{
conn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
stmt.executeQuery(sql);
stmt.close();
conn.close();
}
catch(SQLException ex)
{
System.err.println("aq.executeQuery:"+ex.getMessage());
}
}
public void closeStmt()
{
try
{
stmt.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
public void closeConn()
{
try
{
conn.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}}
}我用的数据库是postgresql8.0,数据库testcc建了一个表user,有五列name,password,email,www,oicq数据类型全部为text,我写了一个测试程序:public static void main(String[] args){
firm f = new firm();
String sql =" insert into user (name,password,email,www,oicq) values ('"123"','"12345"','"[email protected]"','"www.163.com"','"12345"')";
f.executeUpdate(sql);
ResultSet rs = f.executeQuery("select * from user");
try{
while(rs.next()){
String a = rs.getString(1);
String b = rs.getString(2);
String c = rs.getString(3);
String d = rs.getString(4);
String e = rs.getString(5);
System.out.println("1:"+a +
"2:"+b +
"3:"+c +
"4:"+d +
"5:"+e );
}
rs.close();
}catch(SQLException sqle){
sqle.printStackTrace();
}编译时有两个错误: C:\Documents and Settings\xtz\桌面\firm.java:88: ';' expected String sql =" insert into user (name,password,email,www,oicq) values ('"123"','"12345"','"[email protected]"','"www.163.com"','"12345"')";C:\Documents and Settings\xtz\桌面\firm.java:88: illegal character: \64 String sql =" insert into user (name,password,email,www,oicq) values ('"123"','"12345"','"[email protected]"','"www.163.com"','"12345"')";
这个怎么是这样的?
"要转义!
我觉得是你的那句sql语句出错吧,你尝试一下System.out.println(sql),看看sql是否正确吧!!
“要转义的话应该怎么转??
ckris(思博)
我开始用javabean测试数据库的时候数据库中建了一个测试用表test,数据类型全部是int,连接正常,后来在建表user中类型全部设为text,这样就出错了
hang818()
我觉得你说的有道理,可是我不知道怎么改,能不能帮帮忙?
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>注册成功</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="RegBean2" scope="page" class="firm.firm" />
<%
String name1= request.getParameter("user_id");
String pwd1= request.getParameter("password");
String email=request.getParameter("email");
String url=request.getParameter("url");
String oicq=request.getParameter("oicq");
String strSQL="insert into usertable (name,password,email,www,oicq) values(' "+ name1 +"','" + pwd1 +"','" + email +" ','" + url +"','" + oicq + "')";
out.print(strSQL);
RegBean2.executeUpdate(strSQL);
session.putValue("username",name1);
out.print ("hello!");
%>
<body >
</body>
</html>我是这样测试的,我把ok_register.jsp中的insert into usertable (name,password,email,www,oicq) values(' "+ name1 +"','" + pwd1 +"','" + email +" ','" + url +"','" + oicq + "');改为:insert into usertable (name,password,email,www,oicq) values(' name1 ',' pwd1 ',' email ',' url ','oicq ');在firm.java中,结果能插入数据库,但是在ok_register.jsp中运行以后的结果是insert into usertable (name,password,email,www,oicq) values(' name1 ',' pwd1 ',' email ',' url ',' oicq ')hello! ,检查数据库发现( name1 , pwd1 , email , url , oicq) 并不在数据库中,就是说
ok_register.jsp运行后并没有把值写入数据库怎么回事啊?是不是我的javabean不对?还是comcat没有运行javabean??高手帮帮忙嘛!!!