[英]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> </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.