第一次接触jsp,想利用eclipse和mysql完成账户登录跳转学校网站
但是点击登录后跳转到了只有几个问号的界面
麻烦大家帮我看一下
我的代码如下:
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function check(form){
if(form.username.value==""){
alert("用户名不能为空!");
return false;
}
if(form.password.value==""){
alert("密码不能为空!");
return false;
}
}
</script>
</head>
<body>
<div class=div>
<form action="LoginServlet" method="post" onsubmit="return check(this);">
<label>用户名:</label><input type="text" name="username">
<label>密码:</label><input type="text" name="password">
<input type="submit" value="登录" />
</form>
</div>
</body>
</html>
LoginServlet.java
package com.pzy.user;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
/**
* Servlet implementation class LoginServlet
*/
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//doGet(request, response);
//1.获取用户输入的用户名和密码
String name= request.getParameter("username");
String password= request.getParameter("password");
boolean flag=false;
//2.创建数据库的连接
Connection connection=null;
PreparedStatement pStatement=null;
ResultSet rSet=null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://127.0.0.1:3306/testdb";
connection= DriverManager.getConnection(url,"root","20020404");
//3.连接后执行mysql语句命令并返回执行结果
String sql="select username,password from tb_user where username=? and password=?";
pStatement= connection.prepareStatement(sql);
pStatement.setString(1, name);
pStatement.setString(2, password);
rSet= pStatement.executeQuery();
if(rSet.next()) {
flag=true;
}
rSet.close();
pStatement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
//4.根据执行结果做出相应处理
if(!flag)
{
response.getWriter().println("用户名或密码错误!");
}
else
{
response.sendRedirect("https://www.tsinghua.edu.cn/");
}
}
}