Servlets和jsp对我来说是新手,所以我开始查看登录servlet的示例代码。是否有新玩家插入到gamelogic中,因为这个servlet实际上应该有效?我只能看到正在处理的错误。
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
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 de.ustg.quiz.application.*;
import de.ustg.quiz.error.*;
//Servlet Implementation
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void init() {
}
//@see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doPost");
Quiz quiz = Quiz.getInstance();
QuizError quizError = new QuizError();
response.setContentType("text/html;charset=UTF-8");
//insert player into gamelogic
if(request.getParameter("username").equals("")) {
request.setAttribute("LoginError", true);
request.setAttribute("LoginErrorMessage", "username required");
} else {
if(quiz.createPlayer((String) request.getParameter("username"), quizError) == null) {
System.out.println(quizError.getDescription());
request.setAttribute("LoginError",true);
request.setAttribute("LoginErrorMessage", quizError.getDescription());
}
}
// write player frome gamelogic into list
List<Player> playerList = new ArrayList<Player>(quiz.getPlayerList());
request.setAttribute("playerList", playerList);
RequestDispatcher requestDispatcher = request.getRequestDispatcher("index.jsp");
requestDispatcher.forward(request, response);
}
}