简单登陆servlet

package com.ithiema.login;

import java.io.IOException;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;

import com.ithiema.register.User;
import com.ithiema.utils.DataSourceUtils;

public class LoginServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		request.setCharacterEncoding("UTF-8");
		
		//1、获得用户名和密码
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		//2、调用一个业务方法进行该用户查询
		User login = null;
		try {
			login = login(username,password);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		//3、通过user是否为null判断用户名和密码是否正确
		if(login!=null){
			//用户名和密码正确
			//登录成功 跳转到网站的首页
			response.sendRedirect(request.getContextPath());
		}else{
			//用户名或密码错误
			//跳回当前login.jsp
			//使用转发 转发到login.jsp  向request域中存储错误信息
			request.setAttribute("loginInfo", "用户名或密码错误");
			request.getRequestDispatcher("/login.jsp").forward(request, response);
		}
		
	}
	
	public User login(String username,String password) throws SQLException{
		QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
		String sql = "select * from user where username=? and password=?";
		User user = runner.query(sql, new BeanHandler<User>(User.class), username,password);
		return user;
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}
}

 

好的,以下是一个简单的基于servlet登陆界面的实现: 首先,我们需要创建一个 HTML 页面作为登陆界面,包含用户名和密码的输入框以及提交按钮。可以参考以下代码: ```html <!DOCTYPE html> <html> <head> <title>Login Page</title> </head> <body> <h2>Login Page</h2> <form method="post" action="login"> <label for="username">Username:</label> <input type="text" id="username" name="username"><br><br> <label for="password">Password:</label> <input type="password" id="password" name="password"><br><br> <input type="submit" value="Login"> </form> </body> </html> ``` 接下来,我们需要创建一个 Java Servlet 来处理用户提交的表单数据并验证用户身份。可以参考以下代码: ```java 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; @WebServlet("/login") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; public LoginServlet() { super(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); // 进行用户身份验证 if("admin".equals(username) && "admin123".equals(password)) { // 验证成功,重定向到欢迎页面 response.sendRedirect("welcome.jsp"); } else { // 验证失败,返回登陆页面并显示错误信息 request.setAttribute("errorMessage", "Invalid username or password"); request.getRequestDispatcher("login.jsp").forward(request, response); } } } ``` 在上述代码中,我们首先通过 `request.getParameter()` 方法获取到用户提交的用户名和密码。然后,我们进行用户身份验证,如果验证成功,则使用 `response.sendRedirect()` 方法重定向到欢迎页面;如果验证失败,则使用 `request.getRequestDispatcher()` 方法返回到登陆页面并在页面上显示错误信息。 最后,我们需要创建一个欢迎页面作为登陆成功后的页面。可以参考以下代码: ```html <!DOCTYPE html> <html> <head> <title>Welcome Page</title> </head> <body> <h2>Welcome, admin!</h2> <p>You have successfully logged in.</p> </body> </html> ``` 将以上代码保存为 `login.jsp` 和 `welcome.jsp` 文件,并将它们放在 Web 应用程序的根目录下的 `WEB-INF` 文件夹中。接着,我们需要在 `web.xml` 文件中配置 Servlet 和 JSP 页面的映射关系。可以参考以下代码: ```xml <web-app> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app> ``` 在上述代码中,我们首先定义了一个名为 `LoginServlet` 的 Servlet,并将它映射到路径 `/login`。然后,在 `welcome-file-list` 中定义了默认的欢迎页面为 `login.jsp`。 现在,我们可以部署和运行这个 Web 应用程序,并通过浏览器访问登陆页面,输入正确的用户名和密码后,将会跳转到欢迎页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值