目标:做一个和数据可一样的登录界面,首先连接数据库,用root,不是root进不去;进去之后可以输入数据库语句,实现增删改查。
首先用户舒勇的东西是动态的,用一个request.getParameter去动态的接收;接受之后就与root做比较,对就进入数据库环境可以进行增删改查,还螚点logout退出;
<body>denglu.jsp
<form action="login.jsp" >
用户 <input type="text" id="user" name="user">
密码<input type="text" id="passwd" name="passwd">
<input type="submit" value="登陆">
</form>
</body>login.jsp
try {
Class.forName("com.mysql.jdbc.Driver");
String user = request.getParameter("user");
String passwd = request.getParameter("passwd");
Connection a = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/nba", user, passwd);
session.setAttribute("ab","ok");
response.sendRedirect("in.jsp");
} catch (Exception e) {
session.setAttribute("ab","false");
response.sendRedirect("denlu.html");
}
%>in.jsp
<form action="in.jsp"> <input id="a" name="a" size="100">
<input type="submit" value="执行">
<a href="logout.jsp">logout</a>
</form>
<%
Class.forName("com.mysql.jdbc.Driver");
Connection a = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/nba", "root", "");
System.out.println("netstat -ano");
Statement b = a.createStatement();
String sql = request.getParameter("a");
try {
if (sql.contains("select") && !sql.contains("into")) {
ResultSet rs = b.executeQuery(sql);
int nfld = rs.getMetaData().getColumnCount();
out.println("<table >" );
out.println("<tr >");
for (int i = 1; i <= nfld; i++) {
out.println("<td>");
out.print(rs.getMetaData().getColumnName(i));
out.print("</td>");
}
out.println("</tr>");
int line=0;
while (rs.next()) {
if(line%2==0)
out.println("<tr class=mm>");else
out.println("<tr class=my>");
for (int i = 1; i <= nfld; i++) {
out.println("<td>");
out.print(rs.getString(i));
out.print("</td>");
}
out.println("</tr>");
line++;
}
} else {
b.executeUpdate(sql);
out.print("ok");
}
} catch (Exception e) {
System.out.print(e.getMessage());
}
a.close();
logout.jsp
<%session.setAttribute("ab","false");
response.sendRedirect("denlu.html");
本文档描述了如何构建一个简单的登录界面,允许用户连接到数据库并执行SQL语句。用户输入的用户名和密码通过request.getParameter获取并与root账户进行比对。登录成功后,用户可以在页面上输入SQL,实现数据的增删改查操作。页面还包含一个logout功能,供用户退出当前会话。
10万+

被折叠的 条评论
为什么被折叠?



