关于servlet中前台数据后台提取功能的一点心得

来源:互联网 发布:上海证券软件下载 编辑:程序博客网 时间:2024/06/08 20:16
<form id="login" method="post" action="login">
用户名:<input type="text" name="username"/><br/>
密&nbsp;&nbsp码:<input type="text" name="pass"/><br/>
<input type="submit" value="登录"/>

</form>

简单的jsp页面,action功能对应的xml中/login   同时xml里面需要定义俩个  如下

<servlet>
<!-- 指定Servlet的名字,
相当于指定@WebServlet的name属性 -->
<servlet-name>login</servlet-name>
<!-- 指定Servlet的实现类 -->
<servlet-class>lee.LoginServlet</servlet-class>
</servlet>
<!-- 配置Servlet的URL -->
<servlet-mapping>
<!-- 指定Servlet的名字 -->
<servlet-name>login</servlet-name>
<!-- 指定Servlet映射的URL地址,
相当于指定@WebServlet的urlPatterns属性-->
<url-pattern>/login</url-pattern>
</servlet-mapping>




然后LoginServlet类取得相关数据。代码如下

package lee;


import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;


import java.sql.*;


/**
 * Description:
 * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a> 
 * <br/>Copyright (C), 2001-2012, Yeeku.H.Lee
 * <br/>This program is protected by copyright laws.
 * <br/>Program Name:
 * <br/>Date:
 * @author  Yeeku.H.Lee kongyeeku@163.com
 * @version  1.0
 */
@WebServlet(name="login"
, urlPatterns={"/login"})
public class LoginServlet extends HttpServlet
{
//响应客户端请求的方法
@Override
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,java.io.IOException
{
String errMsg = "";
//Servlet本身并不输出响应到客户端,因此必须将请求转发
RequestDispatcher rd;
request.setCharacterEncoding("gb2312");




//获取请求参数
String username = request.getParameter("username");
//String   username = new String(username1.getBytes("iso8859-1"),"gbk");
String pass = request.getParameter("pass");
try
{
//Servlet本身,并不执行任何的业务逻辑处理,它调用JavaBean处理用户请求
DbDao dd = new DbDao("com.mysql.jdbc.Driver",
"jdbc:mysql://localhost:3306/javaee","root","root");
//查询结果集
ResultSet rs = dd.query("select passwd from user_table "
+ "where username = ?", username);
if (rs.next())
{
//用户名和密码匹配
if (rs.getString("passwd").equals(pass))
{
//获取session对象
HttpSession session = request.getSession(true);
//设置session属性,跟踪用户会话状态
session.setAttribute("username" , username);
//获取转发对象
rd = request.getRequestDispatcher("/welcome.jsp");
//转发请求
rd.forward(request,response);
}
else
{
//用户名和密码不匹配时
errMsg += "您的用户名密码不符合,请重新输入";
}
}
else
{
//用户名不存在时
errMsg += "您的用户名不存在,请先注册";
}
}
catch (Exception e)
{
e.printStackTrace();
}
//如果出错,转发到重新登录
if (errMsg != null && !errMsg.equals(""))
{
rd = request.getRequestDispatcher("/login.jsp");
request.setAttribute("err" , errMsg);
rd.forward(request,response);
}
}
}

 

数据库匹配成功后,跳入welcome.jsp页面。


如此完成servlet功能。



1 0
原创粉丝点击