首页 > 其他分享 >加深印象篇之Servlet

加深印象篇之Servlet

时间:2022-10-05 09:33:09浏览次数:53  
标签:String 加深 印象 sql import null Servlet public name

环境配置

需要配置web.xml文件,如图所示:

userServlet:是指那个继承自HttpServlet的.java文件的名称

index.jsp:是指那个随意一个.jsp文件名称即可

要使用到Servlet相关类,需要提前将相关导包导入到pom.xml文件中

相关文件的编写

1、JDBCUtils.java文件(存储连接数据库的各种操作:连接、查询、修改,关闭等)

import java.sql.*;

public class JDBCUtils {
    private String driver="com.mysql.cj.jdbc.Driver";
    private String url="jdbc:mysql://localhost:3306/ad";
    private String root="root";
    private String password="20214063";

    private Connection conn=null;
    private Statement stmt=null;
    private ResultSet rs=null;
    //打开连接
    public boolean connect(String sql) throws ClassNotFoundException, SQLException {
        boolean b=false;
        Class.forName(driver);
        conn= DriverManager.getConnection(url,root,password);
        b=true;
        return b;
    }
    //修改
    public void update(String sql) throws SQLException {
        boolean b=false;
        stmt=conn.createStatement();
        stmt.execute(sql);
        b=true;
    }
    //查询
    public void print(String sql) throws SQLException {
        boolean b = false;
        stmt = conn.createStatement();
        rs = stmt.executeQuery(sql);
    }
    //关闭连接
    public void close() throws SQLException {
        if(rs!=null){
            rs.close();
        }
        if(stmt!=null){
            stmt.close();
        }
        if(conn!=null){
            conn.close();
        }
    }

}

2、userServlet.java文件(用于读取用户的相关信息,并进行判断)

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.io.IOException;
import java.sql.SQLException;

@WebServlet("/userServlet")
public class userServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String name=req.getParameter("name");
        String id=req.getParameter("id");
        if(name==null||id==null){
            System.out.println("用户名或者密码不能为空!");
            resp.sendRedirect("index.jsp");
            return ;
        }

        userBean user=new userBean();
        boolean isValue= false;
        try {
            isValue = user.isValid(name,id);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }
        if(isValue){
            System.out.println("登录成功!");
            req.getSession().setAttribute("name",name);
            resp.sendRedirect("index.jsp");
            return ;
       }
    }
}

3、userBean.java文件(用于存放具体的判断验证是否有效的代码,上个文件只是引用其中的具体代码)

public class userBean {

    //登录验证
    public boolean isValid(String name,String id) throws SQLException, ClassNotFoundException {
        boolean b=false;
        JDBCUtils uu=new JDBCUtils();
        if(uu.connect()){
            String sql="select * from we where name="+name+" and id="+id+"";
            uu.print(sql);
            if(uu.next()){
                b=true;
                return b;
            }
            b=false;
            return b;
        }
        return b;
    }

}

4、index.jsp(编写的登录界面,直接传递值传到页面中)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>登录界面</title>
  </head>
  <body>
<div id="loginDiv" style="...">
  <form action="userServlet?name=1" id="form" method="post">
    <h1 id="loginMsg">LOGIN IN</h1>
    <div id="用户名或密码不正确"></div>
    <p>Username:<input id="username" name="username" type="text"></p>
    <p>Id:<input id="id" name="id" type="password"></p>

    <div id="subDiv">
      <input type="submit" class="button" value="login up">
      <input type="reset" class="button" value="reset">
      <a href="register.jsp">没有账号?</a>
    </div>
  </form>
</div>
  </body>
</html>

当然还有相关的注册界面、验证是否登陆成功、注册成功界面的编写,其基本结构与index.jsp结构一致,自己自行编写即可。

标签:String,加深,印象,sql,import,null,Servlet,public,name
From: https://www.cnblogs.com/liuzijin/p/16755042.html

相关文章

  • servlet实操01
    构建步骤1、构建一个普通的maven项目,删掉里面的所有东西2、pom是maven配置文件dependencies是用来添加依赖的下面是servlet和jsp依赖<dependency><grou......
  • Servlet——Request对象
    Request继承体系    1、Tomcat需要解析请求数据,封装为request对象,并且创建request对象传递到service方法中  2、使用request对象,查阅javaEEAPI文档的HttpServle......
  • Servlet—— urlPattern配置
    ServleturlPattern配置  Servlet要想被访问,必须配置其访问路径(urlPattern)  1、一个Servlet可以配置多个urlPattern      2、urlPattern配置规则   ......
  • Servlet——执行流程、生命周期、方法介绍、体系结构
    执行流程  生命周期对象的生命周期是指一个对象从被创建到被销毁的整个过程Servlet运行在Servlet容器(web服务器)中,其生命周期由容器管理,分为四个阶段:    1.加......
  • Servlet——简介
    Servlet  快速入门  1、创建web项目,导入Servlet依赖坐标<dependencies><dependency><groupId>javax.servlet</groupId><artifac......
  • springmvc-servlet.xml
    <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • SpringBoot--解决子线程无法获得HttpServletRequest的attribute的问题
    ​简介    本文介绍解决SpringBoot子线程无法获得HttpServletRequest的attribute的问题。    在SpringBoot请求中,如果创建了子线程获取request的attribute,......
  • 肖sir___第二个月Servlet__07
    1.1Servlet简介Servlet是什么?Servlet(ServerApplet)是JavaServlet的简称称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在......
  • Spring Security 在 Servlet 的作用区域
    SpringSecurity使用标准的Servlet 过滤器(Filter) 并与Servlet容器集成。这个意味着SpringSecurity可以在任何运行运行在Servlet容器(ServletContainer)中的应用......
  • Servlet4.0 Response
    Servlet4.0Response对象Response对象封装Server返回Client的所有信息。在HTTP协议中,Server传达给Client信息转换到HTTPHeader或者HTTPBODY中。5.1Buffering缓冲区Serve......