Skip to content

Commit

Permalink
Added HomeServlet, Moved HTMLs and JSPs to WEB-INF to prevent direct …
Browse files Browse the repository at this point in the history
…access and made UserManager more robust and moved code from dashboard.jsp to DashboardServlet.java to make things more MVC
  • Loading branch information
nknj committed Nov 14, 2013
1 parent 1024ec9 commit cad97bc
Show file tree
Hide file tree
Showing 11 changed files with 82 additions and 36 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
target
*.class
*.class
*.txt
23 changes: 16 additions & 7 deletions src/main/java/controller/DashboardServlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,24 @@
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.RequestDispatcher;

import model.entity.User;
import model.UserManager;

public class DashboardServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
RequestDispatcher rd = req.getRequestDispatcher("dashboard.jsp");
rd.forward(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {

User u = UserManager.getUser();
if (u == null) {
req.getRequestDispatcher("/WEB-INF/404.html").forward(req, resp);
return;
}

req.setAttribute("user", u);
req.getRequestDispatcher("/WEB-INF/dashboard.jsp").forward(req, resp);
}

}
20 changes: 20 additions & 0 deletions src/main/java/controller/HomeServlet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package controller;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import model.entity.User;
import model.UserManager;

public class HomeServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.getRequestDispatcher("/WEB-INF/home.html").forward(req, resp);
}

}
5 changes: 1 addition & 4 deletions src/main/java/controller/SignUpServlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.RequestDispatcher;

import model.entity.User;
import model.UserManager;
Expand All @@ -15,8 +14,7 @@ public class SignUpServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
RequestDispatcher rd = req.getRequestDispatcher("signup.html");
rd.forward(req, resp);
req.getRequestDispatcher("/WEB-INF/signup.html").forward(req, resp);
}

@Override
Expand All @@ -29,5 +27,4 @@ protected void doPost(HttpServletRequest req, HttpServletResponse resp)
resp.sendRedirect("/dashboard");
}


}
3 changes: 3 additions & 0 deletions src/main/java/model/UserManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ public static User getUser() {
String content = br.readLine();
if (content != null) {
String[] tokens = content.split(" ");
if (tokens.length != 2) {
return null;
}
String username = tokens[0];
String password = tokens[1];
return new User(username, password);
Expand Down
5 changes: 3 additions & 2 deletions src/main/webapp/404.html → src/main/webapp/WEB-INF/404.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@
<html>
<head>
<title>
User Not Found
Page Not Found
</title>
</head>
<body>
<h1>404</h1>
<h3>
Sorry, User Not Found
Sorry, Page Not Found
</h3>
</body>
</html>
20 changes: 20 additions & 0 deletions src/main/webapp/WEB-INF/dashboard.jsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<%@ page import="model.entity.User" %>
<%
User u = (User) request.getAttribute("user");
%>

<!DOCTYPE html>
<html>
<head>
<title>Dashboard</title>
</head>
<body>
<h2>
Hello, <%=u.getUsername()%>
</h2>
<p>
Your password is <%=u.getPassword()%>, oops!
</p>
Click <a href="/home">here</a> to go back to Home.
</body>
</html>
9 changes: 9 additions & 0 deletions src/main/webapp/WEB-INF/home.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<!DOCTYPE html>
<html>
<head>
<title>MVC Demo</title>
</head>
<body>
<h3>Hello! Click <a href="/signup">here</a> to Signup!</h3>
</body>
</html>
File renamed without changes.
8 changes: 8 additions & 0 deletions src/main/webapp/WEB-INF/web.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@

<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>Home</servlet-name>
<servlet-class>controller.HomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Home</servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SignUp</servlet-name>
<servlet-class>controller.SignUpServlet</servlet-class>
Expand Down
22 changes: 0 additions & 22 deletions src/main/webapp/dashboard.jsp

This file was deleted.

0 comments on commit cad97bc

Please sign in to comment.