String username = request.getParameter("username");
是这样吗?
为什么指向request报错还有就是jsp文件里用这个javabean往数据库里添加命令为什么没反映?直接把代码写JSP里没问题
<jsp:useBean id="bean" scope="application" class="count.Post2"/>
是不是下面还要有句话来执行?
是这样吗?
为什么指向request报错还有就是jsp文件里用这个javabean往数据库里添加命令为什么没反映?直接把代码写JSP里没问题
<jsp:useBean id="bean" scope="application" class="count.Post2"/>
是不是下面还要有句话来执行?
这句指的是在JSP页面中请求以后得到的一个值
<jsp:useBean id="bean" scope="application" class="count.Post2"/>
这句指的是在JSP页面中引用了javabean。如果你想用javabean里面的方法就要先引用
然后怎么用JAVABEAN在JSP上实现
我的JAVA文件:
package count;import java.sql.*;
import java.lang.*;public class Post2{
public boolean doPost(){
boolean reword = false;
//取得用户提交的参数
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
String address = request.getParameter("address");
String idpost = request.getParameter("idpost");
String tele = request.getParameter("tele");
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:register");
java.sql.Statement stmt = conn.createStatement();
String sql = "insert into register(username,password,email,address,idpost,tele) values('"+username+"','"+password+"','"+email+"','"+address+"','"+idpost+"','"+tele+"')";
stmt.executeUpdate(sql);
stmt.close();
conn.close();
return true;
}
catch(ClassNotFoundException e){
return reword;
}
catch(SQLException ex){}
finally{
return reword;
}
}
}
写个例子也好啊
就个username好了
}
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Collection;
import java.lang.*;public class Post2 extends HttpServlet{
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
//取得用户提交的参数
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
String address = request.getParameter("address");
String idpost = request.getParameter("idpost");
String tele = request.getParameter("tele");
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:register");
java.sql.Statement stmt = conn.createStatement();
String sql = "insert into register(username,password,email,address,idpost,tele) values('"+username+"','"+password+"','"+email+"','"+address+"','"+idpost+"','"+tele+"')";
stmt.executeUpdate(sql);
stmt.close();
conn.close();
}
catch(ClassNotFoundException e){
}
catch(SQLException ex){}
}
}
这样对吗?然后在JSP怎么使用?
各位可以加我QQ 39980128
到时候一定给分,谢谢了
我的JSP文件就是用FORM传递值的,username..什么的
然后想在JAVA里获取,想在接受JSP文件里使用javabean执行<jsp:useBean id="adduser" scope="page" class="count.Post2"/>
单这么句什么问题也没,也不执行操作
然后我加句<%adduser.doPost()%>就挂了
显示:HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: count.Post2.print()I
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.ServletException: count.Post2.print()I
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.registerOK_jsp._jspService(registerOK_jsp.java:66)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
String address = request.getParameter("address");
String idpost = request.getParameter("idpost");
String tele = request.getParameter("tele");
String sql = "insert into register(username,password,email,address,idpost,tele) value('"+username+"','"+password+"','"+email+"','"+address+"','"+idpost+"','"+tele+"')";
都写在JSP中〈% %〉之间然后把doPost()方法写成 doPost(String sql)要去掉原来方法中的sql定义
如果用JAVABEAN的话就提交给自身<FROM action="">然后按我上面说的做public void doPost(String sql){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:register");
java.sql.Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
}
catch(ClassNotFoundException e){}
}
<jsp:useBean id="***" class="*.*" scope="page">
<jsp:setProperty name="***" property="*"/>
</jsp:useBean>
BEAN里面要有提交数据相应的SET GET 方法。
普通JAVA不能使用REQUEST方法,要不提交给SERVLET直接用你写的方法获得提交值。
具体情况要看实际选择使用何种方法。
lz要是还不明白+我MSN:[email protected]我不用QQ的
对应的STRING类型值..
我就是这样做的..还请高手指教拉.哈哈
使用SERVLET的话用REQUEST没问题的获取后记得进行 编码转换要不可能出现乱玛的。
要是使用JAVABEAN的话有两种方法(我就知道两种)我上面都说了
你企图将显示层直接和模型层进行通信。也就是JSP对JAVABEAN通信。解决办法应该是使用SERVERLET,方法上面有高人已经给出。