2、登录验证操作login_action.jsp
接下来开发登录提交时的相应处理页面login_action.jsp。该页面不用于显示,其作用是检验用户的用户名和密码是否合法。按照顺序需要编写以下的代码:
①由于要进行数据库查询,因此首先使用include指令包含数据库配置文件inc.jsp;
②取得login.jsp页面中用户输入的用户名和密码的参数变量username和password;
③检查用户名和密码是否为空,如果有一个为空,则返回页面login.jsp重新登录;
④定义一个变量isValid来表示是否验证通过。根据用户名和密码的参数组合查询的SQL语句,从用户表user中查询记录。建立数据库的连接,并执行该SQL语句的查询。如果能够查询到记录,则表示用户名和密码正确,则赋予isValid为true。并依次关闭rs、stm、conn对象;
⑤判断isValid的值,如果为真,则表示验证通过,此时需要调用Session的setAttritute()方法来保存用户的用户名,并跳转到欢迎页面welcome.jsp;如果为假,则返回到登录页面login.jsp。
最后的代码如程序4-5所示。
<%@ include file="inc.jsp"%>
<%
//get parameters
String username = request.getParameter("username");
String password = request.getParameter("password");
//check null
if (username == null || password == null) {
response.sendRedirect("login.jsp");
}
//validate
boolean isValid = false;
String sql = "select * from user where username='"
+username+"' and password='"+password+"'";
try {
Class.forName(drv).newInstance();
Connection conn = DriverManager.getConnection(url, usr, pwd);
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sql);
if(rs.next())isValid = true;
rs.close();
stm.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
out.println(e);
} finally {
}
if (isValid) {
session.setAttribute("username", username);
response.sendRedirect("welcome.jsp");
} else {
response.sendRedirect("login.jsp");
}
%>
分享到:
相关推荐
在"login_jsp.zip"这个压缩包中,包含了一个名为"login.jsp"的文件,这是一个用于处理用户登录请求的页面。 首先,"login.jsp"通常会包含一个HTML表单,用于接收用户的用户名和密码输入。表单通过POST方法提交到同...
在JSP中,`<form>`标签用于创建表单,而表单的提交通常通过`action`属性指定目标处理页面,这里是`login.jsp`自身或者一个处理登录验证的Servlet。登录成功后,服务器需要保存用户的登录状态,这就是session的作用。...
登录界面可能包含一个`login.jsp`,显示登录表单;登录成功后的页面可能是`success.jsp`,展示欢迎信息;登录失败的页面可能是`error.jsp`,显示错误提示。 6. **Struts的拦截器(Interceptors)**: 拦截器是...
5. **响应处理**:验证成功后,可以用`response.sendRedirect()`方法将用户重定向到新的页面,例如“login_success.jsp”,显示“登录成功”的消息。如果验证失败,可以返回到登录页面,并显示错误信息。 6. **错误...
**标签** 中的"jsp_login"和"login_jsp"可能代表了登录相关的JSP页面,这些页面可能包含登录表单的显示以及处理登录请求的代码。而"jsp_注册"可能对应的是注册页面,负责收集用户信息并将其保存到数据库。 在...
在这个登录示例中,"login.jsp"和"success.jsp"、"error.jsp"是用户界面的部分,它们负责展示登录表单、成功消息或错误信息。 总的来说,"struts2_login.7z"压缩包提供了一个实际运行的Struts2登录系统,涵盖了...
标题 "daima.rar_html login_html 登录 jsp_jsp登陆后台" 提供的信息表明,这是一个关于使用HTML和JSP实现简单登录功能的教学资源。描述中提到,它包含前台的`login.html`和后台的`verifylogin.jsp`两个关键文件。...
这个“struts_dynavalidator_login.rar”压缩包包含了一个Struts框架下实现动态验证登录功能的示例程序。在这个程序中,Struts的核心职责是协调控制器、模型和视图,使得开发者可以更方便地构建结构清晰、可维护性强...
这个"struts_login"示例将帮助学习者理解如何使用Struts框架来处理简单的用户登录流程,包括接收用户输入、验证、设置会话属性(如果登录成功),以及展示相应的反馈信息。通过实践这个例子,你可以学习到如何配置...
在这个`jsp login.zip`项目中,开发者提供了一个简单的JSP登录验证示例,旨在帮助初学者理解登录验证的基本流程。下面将详细介绍这个项目中的关键知识点。 1. **JSP基础**: JSP是Java的一种视图技术,它允许...
- `<form action="login_conf.jsp" method="post">`:定义了一个 POST 请求方式的表单,提交地址为 `login_conf.jsp`。 - `<input type="text" name="id">` 和 `<input type="password" name="password">`:分别为...
1. **LoginAction.java**:这个Action类负责接收和处理用户的登录请求,它可能包含了登录验证的方法,如`login()`。 2. **struts.xml**:配置文件,定义了Action的映射和结果。 3. **LoginCheckInterceptor.java**...
【标题】"denglu.rar_jsp登录界面" 涉及的核心知识点是基于Java Server Pages(JSP)技术构建的网页登录系统。在Web开发中,JSP是一种动态网页技术,它允许开发者将HTML代码与Java代码混合编写,从而在服务器端处理...
接下来,我们创建三个JSP页面:`login.jsp`、`login_success.jsp`和`login_failure.jsp`。`login.jsp`是用户输入用户名和密码的界面,`login_success.jsp`用于显示成功登录的信息,而`login_failure.jsp`则用于处理...
`LoginAction`中的业务逻辑通常包括验证用户输入、访问数据库等操作。 接着,`struts-config.xml`是Struts配置文件,它定义了应用的MVC组件。在这个文件中,你会看到`<action>`元素,它映射了URL到特定的Action类。...
- `login_success.jsp`和`login_failure.jsp`是JSP页面,用于显示登录成功或失败的消息。JSP是一种动态网页技术,允许在HTML中嵌入Java代码。`login_success.jsp`通常会显示欢迎消息,而`login_failure.jsp`可能...
<form action="login_conf.jsp" method="post"> <!-- 用户名和密码输入框 --> <!-- 提交和重置按钮 --> 登陆"> 重置"> ``` 2. login_success.jsp:如果用户登录成功,系统会跳转到这个页面显示“登录...
主要涉及用户输入验证、用户信息存储、权限控制等方面,是学习Struts基础操作的好例子。 4. **MVC模式**:模型-视图-控制器模式,是一种软件设计模式,将数据处理(模型)、用户界面(视图)和用户交互逻辑(控制器...
4. `login.jsp`:登录页面,包含了表单和DWR JavaScript代码。 5. `result.jsp`:登录结果页面,根据登录状态展示不同信息。 6. `web.xml`:Web应用的部署描述符,配置了Struts2和DWR的过滤器和监听器。 这个项目...