【发布时间】:2020-09-08 05:08:56
【问题描述】:
我的数据库中有两个表 1. 用户 2. 申请者详细信息
我已经创建了一个表单,该表单从用户那里获取申请者详细信息表的输入并将其提交到数据库中。现在我想创建一个允许用户登录的 JSP,如果登录有效,则显示特定用户(申请人)的详细信息(如果它存在于申请人详细信息表中)。 HallTicket.jsp的代码
<div class="boxdis">
<div id="container">
<h1>• LOGIN •</h1>
<div class="underline"></div>
<form action="HallTicket1.jsp" method="post">
<div class="username">
<label for="username"></label> <input type="text"
placeholder="My username is" name="username" required>
</div>
<div class="pwd">
<label for="pwd"></label> <input type="password"
placeholder="My password is" name="pwd" required>
</div>
<div class="submit">
<input type="submit" value="Access Form" id="form_button" />
</div>
</form>
<!-- // End form -->
</div>
<div class="warning">
<p>${errorMessage}</p>
<c:remove var="errorMessage" scope="session" />
</div>
“HallTicket1.jsp”的代码
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/cinushi_university", "CinthiyaSingh",
"Cinthiya@098");
PreparedStatement ps = con.prepareStatement("select *from users where username=?");
ps.setString(1, username);
ResultSet rs = ps.executeQuery();
Statement st = con.createStatement();
rs = st.executeQuery("select * from users where username='" + username + "' and pwd='" + pwd + "'");
if (rs.next()) {
PreparedStatement ps2 = con.prepareStatement("select * from applicant_detail where username=?");
ps2.setString(1, username);
ResultSet rs1= ps2.executeQuery();
}
else {
request.getSession().setAttribute("errorMessage",
"Invalid/ Unmatched Username or Password, or you might not have Registered. Please Try Again or Register through Apply Now -> Application Guidelines tab.");
request.getRequestDispatcher("HallTicket.jsp").forward(request, response);
}
%>
</body>
</html>
我需要为用户表中验证登录凭据的部分添加代码,但详细信息在申请人详细信息表中。
以下代码也可能有助于理解申请人详细信息表
<%@page import="java.sql.*"%>
<%@page import="javax.sql.*"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%
String username=request.getParameter("username");
String firstname=request.getParameter("firstname");
String lastname=request.getParameter("lastname");
String email=request.getParameter("email");
String phone=request.getParameter("phone");
String gender=request.getParameter("gender");
String category=request.getParameter("category");
String DOB=request.getParameter("DOB");
String PH=request.getParameter("PH");
String Fathername=request.getParameter("Fathername");
String Mothername=request.getParameter("Mothername");
String marital=request.getParameter("marital");
String Nationality=request.getParameter("Nationality");
String Religion=request.getParameter("Religion");
String Addline1=request.getParameter("Addline1");
String Addline2=request.getParameter("Addline2");
String AddState=request.getParameter("AddState");
String AddCountry=request.getParameter("AddCountry");
String Pincode=request.getParameter("Pincode");
String Add2line1=request.getParameter("Add2line1");
String Add2line2=request.getParameter("Add2line2");
String Add2State=request.getParameter("AddState");
String Add2Country=request.getParameter("Add2Country");
String Pin2code=request.getParameter("Pin2code");
String Mat_Board=request.getParameter("Mat_Board");
String Mat_School=request.getParameter("Mat_School");
String Mat_Year=request.getParameter("Mat_Year");
String Mat_Percent=request.getParameter("Mat_Percent");
String Int_Board=request.getParameter("Int_Board");
String Int_School=request.getParameter("Int_School");
String Int_Year=request.getParameter("Int_Year");
String Int_Percent=request.getParameter("Int_Percent");
String prog_group=request.getParameter("select1");
String prog_name=request.getParameter("select2");
String prog_code=request.getParameter("select3");
String pass_state=request.getParameter("pass_state");
String center_choice1name=request.getParameter("centerchoice1");
String center_choice1code=request.getParameter("center1code");
String center_choice1zone=request.getParameter("zone1");
String center_choice2name=request.getParameter("centerchoice2");
String center_choice2code=request.getParameter("center2code");
String center_choice2zone=request.getParameter("zone2");
String Aadhaar=request.getParameter("Aadhar");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/cinushi_university", "CinthiyaSingh", "Cinthiya@098");
PreparedStatement ps = con.prepareStatement("select *from applicant_detail where username=?");
ps.setString(1, username);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
request.getSession().setAttribute("errorMessage", "The Application for the given username is already submitted you can proceed to PAYMENT DETAILS under APPLY NOW tab for completing the payment process for the application, you can check the application form under the HALL TICKET tab and print it for the further reference.");
request.getRequestDispatcher("ApplicationStatus.jsp").forward(request, response);
}
else{
PreparedStatement ps2 = con.prepareStatement("insert into applicant_detail(username, firstname, lastname, email, contact, gender, category, DOB, PH, fathername, mothername, marital_status, nationality, religion, addressline1, addressline2, state, country, pincode, address2line1, address2line2, state2, country2, pin2code, m_board, m_school, m_p_year, m_percentage, i_board, i_school, i_p_year, i_percentage, program_group, program_name, P_code, state_last_exam, center_choice1name, center_choice1code, center_choice1zone, center_choice2name, center_choice2code, center_choice2zone, aadhaar )" + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
//setting value for "?"
ps2.setString(1, username);
ps2.setString(2, firstname);
ps2.setString(3, lastname);
ps2.setString(4, email);
ps2.setString(5, phone);
ps2.setString(6, gender);
ps2.setString(7, category);
ps2.setString(8, DOB);
ps2.setString(9, PH);
ps2.setString(10, Fathername);
ps2.setString(11, Mothername);
ps2.setString(12, marital);
ps2.setString(13, Nationality);
ps2.setString(14, Religion);
ps2.setString(15, Addline1);
ps2.setString(16, Addline2);
ps2.setString(17, AddState);
ps2.setString(18, AddCountry);
ps2.setString(19, Pincode);
ps2.setString(20, Add2line1);
ps2.setString(21, Add2line2);
ps2.setString(22, Add2State);
ps2.setString(23, Add2Country);
ps2.setString(24, Pin2code);
ps2.setString(25, Mat_Board);
ps2.setString(26, Mat_School);
ps2.setString(27, Mat_Year);
ps2.setString(28, Mat_Percent);
ps2.setString(29, Int_Board);
ps2.setString(30, Int_School);
ps2.setString(31, Int_Year);
ps2.setString(32, Int_Percent);
ps2.setString(33, prog_group);
ps2.setString(34, prog_name);
ps2.setString(35, prog_code);
ps2.setString(36, pass_state);
ps2.setString(37, center_choice1name);
ps2.setString(38, center_choice1code);
ps2.setString(39, center_choice1zone);
ps2.setString(40, center_choice2name);
ps2.setString(41, center_choice2code);
ps2.setString(42, center_choice2zone);
ps2.setString(43, Aadhaar);
int i = ps2.executeUpdate();
if (i > 0) {
//redirect
request.getSession().setAttribute("errorMessage", "The Application is successfully submitted and will be considered complete post the payment is made, please proceed to PAYMENT DETAILS tab under APPLY NOW tab for completing the payment process for the application. You can check the application form under the HALL TICKET tab and print it for the further reference.");
request.getRequestDispatcher("ApplicationStatus.jsp").forward(request, response);
}
}
con.close();
%>
【问题讨论】:
-
你有什么问题?
-
如果你能看到HallTicket1.jsp的代码,我没有放任何可以从application_detail中检索数据并显示在HallTicket.jsp页面上的代码。我需要可以检索此数据并显示它的部分。
-
将数据存储在 setAttribute 并在您的 jsp 页面中获取?你试过吗?什么不起作用?
-
我现在可以执行此操作,我尝试使用
<%=rs1.getString("field_name")%>检索数据,这绝对没问题。
标签: java mysql eclipse jsp jdbc