【问题标题】:My java servlet is not working at maven (netbeans)我的 java servlet 在 maven (netbeans) 上不工作
【发布时间】:2017-08-18 23:01:44
【问题描述】:

我在 netbeans 有一个使用 maven 的 web 项目。我正在使用 glassfish 和 MySQL。

这是我的注册屏幕 newUserScreen

点击“Tamam”后,我想从 Web 注册到我的数据库,但我只看到我的 servlet url 并没有发生任何事情。 emptyUserServletUrlScreen

这是我的 servlet:

package tr.kasim.cc.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import tr.kasim.cc.app.Application;
import tr.kasim.cc.util.GeneralUtil;
import tr.kasim.cc.model.SignUp;

/**
 *
 * @author SelmanKasim
 */


@WebServlet(urlPatterns = {"/userservlet"})
public class SignUpUsersServlet  extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doProcess(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doProcess(req, resp);
    }

    protected void doProcess(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter out = null;
        try {
            out = new PrintWriter(resp.getOutputStream());

            String action = req.getParameter("action");
            if ("addUser".equals(action)) {
                addUser(req, resp);
            }

        } catch (Exception ex) {
            Logger.getLogger(SignUpUsersServlet.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println("hata var agacim");
        } finally {
            if (out != null) {
                out.flush();
                out.close();
            }
        }
    }

    public void addUser(HttpServletRequest req, HttpServletResponse resp) throws Exception, IOException {

        String loginName = req.getParameter("loginName");
        String password = req.getParameter("password");
        String eMail = req.getParameter("eMail");
        String userName = req.getParameter("userName");
        String userDate = req.getParameter("userDate");
        String userJob = req.getParameter("userJob");
        String userTelephone = req.getParameter("userTelephone");
        String userCity = req.getParameter("userCity");
        String userGenderId = req.getParameter("userGenderId");

        SignUp sign_up = new SignUp(null,loginName,password,eMail,userName,userDate,userJob,userTelephone,userCity,userGenderId);

        Application.getApp().getMainService().addUser(sign_up);
        resp.sendRedirect("./userList.jsp");
    }

}

这是我的注册jsp:

<%-- 
    Document   : userKayit
    Created on : 24.Mar.2017, 17:42:39
    Author     : SelmanKasim
--%>


<%@page import="java.util.List"%>
<%@page import="tr.kasim.cc.app.Application"%>
<%@page import="tr.kasim.cc.model.SignUp"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>User Kayit</title>
    <link rel="stylesheet" type="text/css" href="css/index.css"></link>
</head>

<body><center>
     <p class="title">Yeni User Kayit</p>

    <form method="post" action="userservlet">
        <input type="hidden" name="action" value="addUser"/>
        <table>
            <tr>
                <td>Giris Adi:</td>
                <td><input type="text" name="girisAdi"/></td>
            </tr>
            <tr>
                <td>Sifre:</td>
                <td><input type="text" name="sifre"/></td>
            </tr>
            <tr>
                <td>eMail:</td>
                <td><input type="text" name="eMail"/></td>
            </tr>
            <tr>
                <td>Kullanici Adi:</td>
                <td><input type="text" name="kullaniciAdi"/></td>
            </tr>
            <tr>
                <td>Kullanici Kayit Tarihi:</td>
                <td><input type="text" name="kullaniciKayitTarihi"/></td>
            </tr>

            <tr>
                <td>Kullanici Cinsiyeti:</td>
                <td><input type="text" name="kullaniciCinsiyeti"/></td>
            </tr>
            <tr>
                <td>Kullanici İsi:</td>
                <td><input type="text" name="kullaniciIsi"/></td>
            </tr>
            <tr>
                <td>Kullanici Telefonu:</td>
                <td><input type="text" name="kullaniciTelefonu"/></td>
            </tr>
            <tr>
                <td>Kullanici Sehri:</td>
                <td><input type="text" name="kullaniciSehri"/></td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td><input type="submit" value="Tamam"/></td>
            </tr>
        </table>
        <br/><br><br>
        <a href="index.jsp">Ana Sayfaya Dön</a><br>
        </center>
    </form>

</body>


</html>

现在我无法进行任何注册。 你怎么看?我的错误在哪里/什么?

【问题讨论】:

  • 你有 web.xml 吗?如果是,添加它
  • 不,我没有任何 web.xml

标签: java maven jsp servlets netbeans


【解决方案1】:

首先你的注释是错误的。改成

@WebServlet(name = "SignUpUsersServlet", urlPatterns = {"/userservlet"})

它应该可以正常工作。

其次,您需要在 servlet 代码中包含 requestDispatcher。

改变

resp.sendRedirect("./userList.jsp");

RequestDispatcher rd = request.getRequestDispatcher("userList.jsp");
rd.forward(request, response);

第三次摆脱你的 doProcess 和 addUser 方法,只使用 doGet 和 doPost。

如果你想在 doGet 或 doPost 中有 doProcess 和 addUser 你在哪里调用 addUser,你只需要在那里调用 doProcess。

【讨论】:

  • 对不起,我听不懂你的第三部分。如果我抛出我的 addUser 部分,我将无法添加任何新用户,我只尝试了第一部分和第二部分,但我不再工作。你能解释更多吗?
  • 您的重定向不起作用,这就是您看到空白页的原因。您不会在 doGet 或 doPost 上调用 addUser。
猜你喜欢
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
  • 2018-02-11
  • 2015-08-08
  • 2021-02-04
  • 2018-07-05
  • 2021-07-09
  • 2013-05-07
相关资源
最近更新 更多