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

47

  实现:通过在jsp页面的表单中添加数据,并能通过servlet实现向数据库插入数据。

  问题 1:但并不能将数据从数据库中显示出来,在jsp页面中。

 

  解决:

  问题 2Wrapper 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中的信息

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值