Java Server Programming Black Book Pdf -
public static Connection getConnection() throws SQLException return dataSource.getConnection();
@GET @Produces(MediaType.APPLICATION_JSON) public List<User> getUsers() return userService.getAllUsers();
private boolean authenticate(String user, String pass) // Implement actual authentication logic return "admin".equals(user) && "secret".equals(pass); java server programming black book pdf
// 2. Servlet with Session Management @WebServlet("/login") public class LoginServlet extends HttpServlet protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
// 4. REST API using Jersey @Path("/api/users") public class UserResource HttpServletResponse resp) throws ServletException
static HikariConfig config = new HikariConfig(); config.setJdbcUrl("jdbc:mysql://localhost:3306/mydb"); config.setUsername("root"); config.setPassword("password"); config.setMaximumPoolSize(10); dataSource = new HikariDataSource(config);
// 1. Simple Servlet @WebServlet("/hello") public class HelloServlet extends HttpServlet protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); out.println("<h1>Hello from Java Server!</h1>"); out.println("Time: " + new java.util.Date()); PrintWriter out = resp.getWriter()
HttpSession session = req.getSession(); String username = req.getParameter("username"); String password = req.getParameter("password"); if (authenticate(username, password)) session.setAttribute("user", username); session.setMaxInactiveInterval(1800); // 30 minutes resp.sendRedirect("dashboard.jsp"); else resp.sendRedirect("login.html?error=true");
// 5. Filter for Authentication @WebFilter("/*") public class AuthFilter implements Filter
// 3. Database Connection Pool public class DatabasePool private static HikariDataSource dataSource;