簡體   English   中英

我的Java Servlet無法在Maven(NetBeans)中工作

[英]My java servlet is not working at maven (netbeans)

我在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>

現在我無法進行任何注冊。 你怎么看? 我的錯誤在哪里/是什么?

首先,您的注釋錯誤。 更改為

@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。

而且,如果您想擁有doProcess和addUser ,則在doGet或doPost中調用addUser的位置,只在那兒調用doProcess。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM