您的位置:首页 > 其它

servlet--2 注册与信息显示,问题及解决 不完善有待解决

2010-04-08 16:52 204 查看
4月7日:
实现:通过在jsp页面的表单中添加数据,并能通过servlet实现向数据库插入数据。
问题 1:但并不能将数据从数据库中显示出来,在jsp页面中。

解决:
问题 2:Wrapper cannot find servlet class  com.adverties.servlet.HandleLogin or a class it depends on

解决:

问题3 :java.lang.NullPointerException

解决:

问题 4 :java.lang.InstantiationException :bean register not found within scope

package com.adverties.servlet;

import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;

import com.adverties.bean.Login;
import com.adverties.bean.Register;
import com.mysql.jdbc.PreparedStatement;

import java.sql.*;

public class HandleRegister extends HttpServlet {
Register register = new Register();

public void init(ServletConfig config) throws ServletException {
super.init(config);
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
System.out.println("数据库未连接!" + e);
}
}

public String registerInfo(String s) {
try {
byte[] bb = s.getBytes("gbk");
s = new String(bb);
} catch (Exception ee) {
ee.printStackTrace();
}
return s;
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");
response.setContentType("text/html;charset=gbk");

HttpSession session = request.getSession(true);
Register register = new Register();
//----------------
request.setAttribute("register",register);
String url = "jdbc:mysql://localhost:3306/adv";
// -----------
register = (Register) session.getAttribute("logname");
register = (Register) session.getAttribute("password");
register = (Register) session.getAttribute("advertiseTitle");
register = (Register) session.getAttribute("email");
register = (Register) session.getAttribute("phone");
register = (Register) session.getAttribute("message");

String logname = request.getParameter("logname").trim(), password = request
.getParameter("password").trim(), advertiseTitle = request
.getParameter("advertiseTitle").trim(), email = request
.getParameter("email").trim(), phone = request
.getParameter("phone").trim(), message = request
.getParameter("message").trim();
if (register == null) {
register = new Register();
session.setAttribute("register", register);

logname = registerInfo(logname);
password = registerInfo(password);
password = registerInfo(advertiseTitle);
password = registerInfo(phone);
password = registerInfo(email);
password = registerInfo(message);

// -------------------------
Connection conn = null;
PreparedStatement pstmt = null;
String backNews = "";

boolean isLD = true;

for (int i = 0; i < logname.length(); i++) {
char c = logname.charAt(i);
if (!((c <= 'z' && c >= 'a') || (c <= 'Z' && c >= 'A') || (c <= '9' && c >= '0')))
isLD = false;
}
boolean boo = logname.length() > 0 && password.length() > 0
&& isLD;

try {
conn = DriverManager.getConnection(url, "root", "root");
String sql = "insert into member value(?,?,?,?,?,?,?)";
pstmt = (PreparedStatement) conn.prepareStatement(sql);
if (boo) {
pstmt.setString(1, registerInfo(logname));
pstmt.setString(2, registerInfo(password));
pstmt.setString(3, registerInfo(advertiseTitle));
pstmt.setString(4, registerInfo(phone));
pstmt.setString(5, registerInfo(email));
pstmt.setString(6, registerInfo(message));
pstmt.setString(7, "public.jpg");
int m = pstmt.executeUpdate();

if (m != 0) {
backNews = "注册成功,信息已经插入数据库";

// register.setLogname(registerInfo(logname));
// register.setPassword(registerInfo(password));
// register
// .setAdvertiseTitle(registerInfo(advertiseTitle));
// register.setPhone(registerInfo(phone));
// register.setMessage(registerInfo(message));
// register.setEmail(registerInfo(email));

// register = (Register)
// request.getAttribute(logname);
// register = (Register)
// request.getAttribute(password);
// register = (Register) request
// .getAttribute(advertiseTitle);
// register = (Register)
// request.getAttribute(email);
// register = (Register)
// request.getAttribute(phone);
// register = (Register)
// request.getAttribute(message);
}
} else {
backNews = "信息填写不完整或名字中有非法字符";
register.setBackNews(backNews);
}
pstmt.close();
conn.close();

} catch (SQLException exp) {
backNews = "该会员已被使用,请您更换名字" + exp;
register.setBackNews(backNews);
}
RequestDispatcher dispatcher = request
.getRequestDispatcher("showRegisterMess.jsp");
dispatcher.forward(request, response);

}
}
}

HttpSession session = request.getSession(true);
Register register = new Register();
//----------------
request.setAttribute("register",register);
String url = "jdbc:mysql://localhost:3306/adv";
// -----------
register = (Register) session.getAttribute("logname");
register = (Register) session.getAttribute("password");
register = (Register) session.getAttribute("advertiseTitle");
register = (Register) session.getAttribute("email");
register = (Register) session.getAttribute("phone");
register = (Register) session.getAttribute("message");
》》》》》》》》》》
实现:注册信息插入数据库,使得页面跳转成功,但是跳转后的页面缺少showRegisterMess.jsp 未能实现相应信息的输出。jsp:property应得的信息。
String logname = request.getParameter("logname").trim(), password = request
.getParameter("password").trim(), advertiseTitle = request
.getParameter("advertiseTitle").trim(), email = request

<% Register registerInfo = (Register)request.getAttribute("logname");%>
logname :
<%=register.getLogname() %>

// String logname = request.getParameter("logname").trim(), password = request
// .getParameter("password").trim(), advertiseTitle = request
// .getParameter("advertiseTitle").trim(), email = request
// .getParameter("email").trim(), phone = request
// .getParameter("phone").trim(), message = request
// .getParameter("message").trim();
jsp页面中用<%= request.getParameter("email").trim() %>即可以获得在servlet中保存入reqeust中的信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐