2016-01-03 39 views
-3

我正在创建一个工资系统。我有一个包含employee_id和密码的数据库。我的index.html是登录页面,输入employee_id和密码,数据库检查是否正确,如果是,那么Welcome.java servlet将带您进入打印“欢迎用户”的页面。这个Web应用程序开发的基础知识

我想要的是,当员工登录时,需要他们的网页使用下面的按钮,而不是一个屏幕,简单地说:“欢迎用户”:

查看个人信息,查看工资单信息,更改密码

我不知道该怎么做。

以下是我的文件。

的index.html

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Login</title> 
</head> 
<body> 
<form action="login" method="post"> 
<h3> 
Employee Login 
</h3> 
<b>Employee ID:</b> <br> 
<input type="text"name="employee_id" size="20"><br><br> 
<b>Password:</b><br> 
<input type="password" name="password" size="20"><br><br> 
<input type="submit" value="Login"><br><br> 
</form> 
</body> 
</html> 

Login.java(servlet的)

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 
import java.sql.*; 

public class Login extends HttpServlet { 

    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     response.setContentType("text/html;charset=UTF-8"); 
     PrintWriter out = response.getWriter(); 

     String employee_id = request.getParameter("employee_id"); 
     String password = request.getParameter("password"); 
     if(Validate.checkUser(employee_id, password)) { 
      RequestDispatcher rs = request.getRequestDispatcher("Welcome"); 
      rs.forward(request, response); 
     } 
     else 
     { 
      out.println("Employee ID or Password is incorrect. Please try again."); 
      RequestDispatcher rs = request.getRequestDispatcher("index.html"); 
      rs.include(request, response); 
     } 
    } 


     } 

Validate.java(类文件)

import java.sql.*; 
public class Validate 
{ 
    public static boolean checkUser(String employee_id, String password) 
    { 
     boolean st = false; 
     try { 
      Class.forName("com.mysql.jdbc.Driver").newInstance(); 
      Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/payroll_system", "root", ""); 
      PreparedStatement ps = con.prepareStatement("select * from employee_login where employeeID = ? and pwd = ?"); 
      ps.setString(1, employee_id); 
      ps.setString(2, password); 
      ResultSet rs =ps.executeQuery(); 
      st = rs.next(); 

     }catch(Exception e) 
      { 
       e.printStackTrace(); 
      } 
      return st;     
     } 
    } 

Welcome.java(servlet的)

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 
import java.sql.*; 

public class Welcome extends HttpServlet { 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     response.setContentType("text/html;charset=UTF-8"); 
     PrintWriter out = response.getWriter(); 
     out.println("Welcome user"); 
     } 
} 

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" > 

    <servlet> 
     <servlet-name>login</servlet-name> 
     <servlet-class>Login</servlet-class> 
    </servlet> 
    <servlet> 
     <servlet-name>Welcome</servlet-name> 
     <servlet-class>Welcome</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>login</servlet-name> 
     <url-pattern>/login</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>Welcome</servlet-name> 
     <url-pattern>/Welcome</url-pattern> 
    </servlet-mapping> 

</web-app> 

回答

-1

你必须改变的登录servlet的RequestDispatcher rs = request.getRequestDispatcher("Welcome"); as RequestDispatcher rs = request.getRequestDispatcher("Options"); 一行代码,并创建创建3个按钮的HTML文件。

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Options</title> 
 
</head> 
 

 
<body> 
 
    <form action="Mainservlet" method="post"> 
 
    <h3> 
 
Options 
 
</h3> 
 

 
    <input type="submit" value="Personalinformation" name="pi"> 
 
    <br> 
 
    <br> 
 
    <input type="submit" value="PayslipInformation" name="psi"> 
 
    <br> 
 
    <br> 
 
    <input type="submit" value="ChangePassword" name="cp"> 
 
    <br> 
 
    <br> 
 
    </form> 
 
</body> 
 

 
</html>

在mainservlet

if(request.getParameter("pi") != null) { 
// Invoke PersonalInformation's job here. 
} else if (request.getParameter("psi") != null) { 
// Invoke PayslipInformation's job here. 
}else if (request.getParameter("cp") != null) { 
// Invoke ChangePassword's job here. 
} 
+0

我应该如何配置我的web.xml以匹配这些更改? – Programmer

-1

创建HTML或JSP页面,你的按钮等内容,然后从登录的servlet重定向到您的网页,而不是欢迎servlet通过请求调度程序或仅通过response.sendRedirect()方法。