javaWeb -20

这篇博客详细介绍了使用Java Servlet实现Web应用中的登录和注册功能。在登录过程中,设置了字符编码避免乱码,并通过比较用户名和密码从数据库中验证用户。在注册功能中,检查了用户输入的合法性,如密码一致性,并将新用户信息存入数据库。
摘要由CSDN通过智能技术生成

一,登录

*访问路径

@WebServlet("/login.do")
public class LoginServlet extends HttpServlet{

    //提供方法给别个访问才可以
    
    //Servlet可以支持多重访问方式
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    
        doPost(req, resp);
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

获取主页表单提交到数据并返回

        设置编码方式

                *注意相应也许设置编码方式  不然会乱码

                编码方式三种 顺序上到下

                "gtf-8"

                "gbk"

                "gb2312"
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("gbk");
        String uname=req.getParameter("uname");
        String upwd=req.getParameter("upwd");
        PrintWriter out = resp.getWriter();
        if(uname==""||upwd==""){
            out.print("<script>alert('用户名或密码不能为空');location.href='index.jsp';</script>");
        }
        else{
            IUserBiz ib=new UserBiz();
            List<Users> ls=ib.getAll();
            boolean f=false;
            for(Users u:ls){
                if(uname.equals(u.getUsername())&&upwd.equals(u.getPassword())){
                    f=true;
                    req.setAttribute("uname", uname);
                    break;
                }
            }
            if(!f){
                out.print("<script>alert('用户名或密码错误');location.href='index.jsp';</script>");
            }
            else{
                req.getRequestDispatcher("index.jsp").forward(req,resp );
            }
    }
}
}

二,注册

@WebServlet("/rigister.do")
public class RigisterServlet extends HttpServlet{

    
    
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub
        super.doGet(req, resp);
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置编码方式
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("gbk");
        //拿到表单的值
        String sname= req.getParameter("sname");
        String pwd= req.getParameter("pwd");
        String spwd= req.getParameter("spwd");
        String name= req.getParameter("name");
        String sex= req.getParameter("sex");
        PrintWriter out=resp.getWriter();
        //
        if(sname==""||pwd==""){
            out.print("<script>alert('用户名或密码不能为空');location.href='rigister.jsp';</script>");
        }
        else if(!pwd.equals(spwd)){
            out.print("<script>alert('两次密码不一致');location.href='rigister.jsp';</script>");
        }
        else{
            Users user=new Users(sname,pwd,name,sex);
            IUserBiz ib=new UserBiz();
            ib.adduser(user);
            req.getRequestDispatcher("index.jsp").forward(req, resp);
        }
    }

}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现省市区三级联动的关键是建立好数据库,并且编写好对应的 SQL 语句。以下是一个简单的数据库设计: - 省份表 province,包括字段 id 和 name。 - 城市表 city,包括字段 id、name 和省份的外键 province_id。 - 区县表 district,包括字段 id、name 和城市的外键 city_id。 接下来是建表语句: ```sql -- 省份表 CREATE TABLE `province` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- 城市表 CREATE TABLE `city` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `province_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `province_id` (`province_id`), CONSTRAINT `city_ibfk_1` FOREIGN KEY (`province_id`) REFERENCES `province` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- 区县表 CREATE TABLE `district` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `city_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `city_id` (`city_id`), CONSTRAINT `district_ibfk_1` FOREIGN KEY (`city_id`) REFERENCES `city` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` 接下来是查询省份、城市、区县的 SQL 语句: ```sql -- 查询所有省份 SELECT id, name FROM province; -- 查询某个省份下的所有城市 SELECT id, name FROM city WHERE province_id = ?; -- 查询某个城市下的所有区县 SELECT id, name FROM district WHERE city_id = ?; ``` 在 Java Web 项目中,可以使用 Ajax 和 JSON 技术实现省市区三级联动。前端页面发送 Ajax 请求,后端通过 JDBC 连接数据库,查询对应的省份、城市、区县信息,并以 JSON 格式返回给前端页面。前端页面再解析 JSON 数据,更新页面的省份、城市、区县下拉框选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值