Servlet连接JDBC实现页面跳转

1.首先建一个HTML静态的页面用来显示,页面简单只需要一个form表单即可

    
"Cc" method="post"> 用户名type="text" name="name1"> 密码type="password" name="pass"> type="submit">

这里只写内的片段,其他的没改变。

2.创建Servlet类,用来处理静态页面的数据。
直接在项目里面new一个servlet类,只需要勾选doGet()和doPost()两个方法。

public class Servlet3 extends HttpServlet {


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

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String name = request.getParameter("name1");
        String pass= request.getParameter("pass");
        request.setAttribute("wantname", name);
        request.setAttribute("wantpass", pass);
        String url="jdbc:mysql://127.0.0.1:3306/maxin";
        try {
    //连接数据库
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection(url, "root", "root");
        Statement stmt = conn.createStatement();
    //sql语句,进行查询
        String sql = "select * from ma1 ";
         PreparedStatement pst = null;
         pst = (PreparedStatement) conn.prepareStatement(sql);
         ResultSet rs = pst.executeQuery();
         while(rs.next()){                  
             if(rs.getString("name").equals(name)){
                    request.getRequestDispatcher("/MyJsp.jsp").forward(request, response);
             }else{
                    request.getRequestDispatcher("/Lose.html").forward(request, response);
                    }
                }           
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

3.创建web.xml并且对里面要进行配置

 //注意编码格式
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Servlet_1_24display-name>  
  <servlet>
    <servlet-name>Servlet3servlet-name>
    <servlet-class>servletTest.Servlet3servlet-class> //servlet类的绝对路径
  servlet>
  <servlet-mapping>
    <servlet-name>Servlet3servlet-name>
    <url-pattern>/Ccurl-pattern>  //要访问的url路径
  servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.htmlwelcome-file>
  //程序开始运行,服务器调用.xml文件,首先访问index.xml 文件, 在浏览器访问时需要注意,添加自己想要显示的页面
    <welcome-file>index.htmwelcome-file>
    <welcome-file>index.jspwelcome-file>
    <welcome-file>default.htmlwelcome-file>
    <welcome-file>default.htmwelcome-file>
    <welcome-file>default.jspwelcome-file>
  welcome-file-list>
web-app>

4.
创建.jsp文件用来拿到servlet处理的数据

<body>
  <h2>登陆成功h2>
  <a>姓名a>
        <%=request.getAttribute("wantname") %>
  <a>密码a>
        <%=request.getAttribute("wantpass") %>
  body>

再创建一个用来显示失败的页面,

<body>
    <h1>没有找到h1>
    <a href="./MyHtml.html">返回查询页面a>
  body>

查询失败跳转到查询页面。

这是我数据库的数据
Servlet连接JDBC实现页面跳转_第1张图片

开启服务器,显示404查不到,这里要用要显示的页面的路径
Servlet连接JDBC实现页面跳转_第2张图片

更改后,打开了页面
Servlet连接JDBC实现页面跳转_第3张图片

输入数据库里的qqq这个name,这里的搜索栏路径改变为Cc
Servlet连接JDBC实现页面跳转_第4张图片

如果输入错误
Servlet连接JDBC实现页面跳转_第5张图片

点击超链接返回


向数据库里插入数据代码

//  ************        插入 *******************************
//          String sql = "insert into ma1 values('"+name+"','"+pass+"')";   
//          int i = stmt.executeUpdate(sql);            
//          request.setAttribute("wantname", name);
//          request.setAttribute("wantpass", pass);
//          
//          if(i>0){
//              request.getRequestDispatcher("/MyJsp.jsp").forward(request, response);
//          }else{
//              request.getRequestDispatcher("/MyJsp.jsp").forward(request, response);
//          }

你可能感兴趣的:(web)