servlet入门案例(代码片段)

miantiao312 miantiao312     2023-01-29     668

关键词:

一、需求:登陆页面,查询数据库是否有此人,并统计登陆的次数、显示成功登陆与否信息

1、登陆页面和登陆成功页面

login.jsp:======================>
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <h1>登录页面</h1>
    <%
        /**
        * 判断request域中是否有错误信息:(第一次进入登录页面的时候,没有错误信息)
        * * 如果有错误信息:显示错误信息
        */
        String msg = "";
        if(request.getAttribute("msg") != null)
            // 有错误信息:显示错误信息:
            msg = (String)request.getAttribute("msg");
        
    %>
    <h3><font color="red"><%= msg %></font></h3>
    <form action="/web_login/LoginServlet" method="post">
        <table border="1" width="400">
            <tr>
                <td>用户名</td>
                <td><input type="text" name="username"/></td>
            </tr>
            <tr>
                <td>密码</td>
                <td><input type="password" name="password"/></td>
            </tr>
            <tr>
                <td colspan="2"><input type="submit" value="登录"/></td>
            </tr>
        </table>
    </form>
    </body>
    </html>

success.jsp==========================>
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <h1>登录成功的页面!</h1>
    <%
        Integer count = 0;
        // 判断,如果ServletContext中有值,获取并显示:
        if(this.getServletContext().getAttribute("count")!=null)
            count = (Integer)this.getServletContext().getAttribute("count");
        
    %>
    <h3>登录成功的总人数:<%= count %></h3>
    </body>
    </html>

2、web.xml配置

      <servlet>
        <description></description>
        <display-name>LoginServlet</display-name>
        <servlet-name>LoginServlet</servlet-name>
        <servlet-class>com.kid.controller.LoginServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/LoginServlet</url-pattern>
      </servlet-mapping>

      <servlet>
        <description></description>
        <display-name>InitServlet</display-name>
        <servlet-name>InitServlet</servlet-name>
        <servlet-class>com.kid.controller.InitServlet</servlet-class>
         <!-- 配置启动时加载 -->
        <load-on-startup>2</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>InitServlet</servlet-name>
        <url-pattern>/InitServlet</url-pattern>
      </servlet-mapping>

3、代码逻辑

    A、//登陆的Servlet
    public class LoginServlet extends HttpServlet 
        private static final long serialVersionUID = 1L;
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
            try 
                //1、接受页面请求数据
                request.setCharacterEncoding("UTF-8");
                String username = request.getParameter("username");
                String password = request.getParameter("password");
                
                //2、封装数据
                User user=new User();
                user.setUsername(username);
                user.setPassword(password);
                
                //3、查询数据库处理数据
                UserModel userModel=new UserModel();
                User existUser=userModel.login(user);
                
                //4、判断用户
                if(existUser == null) 
                    request.setAttribute("msg", "用户名或密码错误");
                    request.getRequestDispatcher("/login.jsp").forward(request, response);
                else 
                    int count = (Integer) this.getServletContext().getAttribute("count");
                    count++;
                    this.getServletContext().setAttribute("count", count);
                    response.sendRedirect("/web_login/success.jsp");
                
                
             catch (SQLException e) 
                
                e.printStackTrace();
            
        
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
            doGet(request, response);
        
    

    B、//初始化的servlet
    public class InitServlet extends HttpServlet 
        private static final long serialVersionUID = 1L;
    
        /**
         * 初始化方法
         */
        @Override
        public void init() throws ServletException 
            int count=0;
            this.getServletContext().setAttribute("count", count);
        
        
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
            
        
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
            doGet(request, response);
        
    
    
    C、实体类
        public class User 

            private Integer uid;
            private String username;
            private String password;
            private String nickname;
            
            //getter、setter方法
        }

    D、连接数据库查询,并且处理数据
        public class UserModel 
            /**
             * 查询数据库,处理用户的登陆的方法
             * @param user
             * @return
             * @throws SQLException 
             */
            public User login(User user) throws SQLException 
                QueryRunner queryRunner=new QueryRunner(JDBCUtils.getDataSource());
                User existUser = queryRunner.query("select * from user where username = ? and password = ?",
                        new BeanHandler<User>(User.class), user.getUsername(), user.getPassword());
                return existUser;
            
        

    E、工具类
        public class JDBCUtils 
            private static final ComboPooledDataSource dataSource = new ComboPooledDataSource();
            
            public static Connection getConnection() throws SQLException
                return dataSource.getConnection();
            
        
            public static DataSource getDataSource()
                return dataSource;
            
        

    F、c3p0连接池配置
        c3p0-config
        <?xml version="1.0" encoding="UTF-8"?>
        <c3p0-config>
            <default-config>
                <property name="driverClass">com.mysql.jdbc.Driver</property>
                <property name="jdbcUrl">jdbc:mysql:///web_login</property>
                <property name="user">root</property>
                <property name="password">root</property>
                
                <property name="initialPoolSize">5</property>
                <property name="minPoolSize">5</property>
                <property name="maxPoolSize">20</property>
            </default-config> 
        </c3p0-config>

4、登陆成功人数统计分析:

技术分享图片

完成springmvc的入门案例(代码片段)

...gMVC入门案例因为SpringMVC是一个Web框架,将来是要替换Servlet,所以先来回顾下以前Servlet是如何进行开发的?1.创建web工程(Maven结构)2.设置tomcat服务器,加载 查看详情

servlet的入门案例

 编写入门案例*建立一个web项目*定义一个类,然后让该类去实现Servlet接口,重写方法*配置servlet的访问路径importjava.io.IOException;importjavax.servlet.Servlet;importjavax.servlet.ServletConfig;importjavax.servlet.ServletException;importjav 查看详情

servlet(代码片段)

...位置修改jar包存放位置配置Tomcat服务器入门案例思路创建Servlet程序配置web.xml文件测试Servlet的继承结构Servlet的生命周期init()方法service()方法doGet()方法doPost()方法destroy()方法Request概述测试前端HTML程序后端java程序请求转发概 查看详情

servlet简要介绍及入门案例。

什么是Servlet呢?  Servlet试运行在服务器端的一个小的java程序,接收和相应从客户端发送的请求。那么Servlet的作用是什么呢?处理客户端的请求,并且对请求作出相应。下面是Servlet的简单入门案例:    //编写一个... 查看详情

servlet快速入门(代码片段)

1.Servlet概述-servlet=server+applet运行在服务器端的java程序。-Servlet是一个接口,一个类要想通过浏览器被访问到,那么这个类就必须直接或间接的实现Servlet接口2.Servlet快速入门创建web模块。编写普通java文件实现Servlet。publicclassmainServ... 查看详情

servlet入门(代码片段)

packagecn.zhouxufeng;importjavax.servlet.*;importjava.io.IOException;/*Serlvet快速入门?1.创建2.定义3.实现TomcatDemo类implement(实现)Srevlet(接口),重写他的方法。4.配置配置xml文件,将其写在根目录后面即可。<servlet><servlet-name>tes 查看详情

servlet入门(代码片段)

1、Servle简介Servlet是运行在服务端的Java小程序,是Sun公司提供的一套规范(接口),用于处理客户端请求、相应给浏览器的动态资源。Servlet规范包含三个技术点:servlet技术filter:过滤器listener:监听器2、Servlet快速入门步骤:创... 查看详情

servlet快速入门(代码片段)

servlet是运行在服务端的java小程序,用来处理客户端请求,响应给浏览器的动态资源 servlet规范:包含3个技术点1.servlet技术2.filter技术3.listener技术 servlet快速入门:1.创建类实现servlet接口2.覆盖未实现接口3.在web.xml进行servl... 查看详情

三servlet开发入门(代码片段)

Servlet开发servlet接口针对Servlet技术的开发,Sun公司提供了一系列接口和类,其中最重要的是javax.servlet.Servlet接口,Servlet就是一种实现了Servlet接口的类,它是由Web容器负责创建并调用,用于接收和响应应用的请... 查看详情

servlet的快速入门(代码片段)

1.认识Servlet今天接触了Servlet,我就写了这篇Servlet的文章.首先,我们了解一下Servlet是什么:这是百度百科的解释,我个人理解是可以用来前后端交互的一个东西,例如可以实现简单的登录系统等.2.准备工作需要资源的和不懂的加QQ找我... 查看详情

jsp第二课servlet入门学习(代码片段)

什么是Servletservlet是由sun公司提供的一门用于开发动态web资源的技术Servlet的核心是javax.servlet.Servlet接口,所有的Servlet必须实现这个接口ServletAPIServletAPI包含于两个包中,分别是javax.servlet和javax.servlet.http在后期的课程中以... 查看详情

servlet入门(代码片段)

Tomcat初次使用 //a.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>a</title></head><body><formaction="http://localhost:8080/abc/h 查看详情

javaweb案例:上次访问时间cookie技术(代码片段)

1packagecn.itcast.access;23importjavax.servlet.ServletException;4importjavax.servlet.annotation.WebServlet;5importjavax.servlet.http.Cookie;6importjavax.servlet.http.HttpServlet;7importjavax.servlet.h 查看详情

tomcat和servlet快速入门教程!!!(代码片段)

Tomact和servlet快速入门教程tomcat的入门必备知识1.下载:2.安装:解压压缩包即可3.卸载:删除目录即可4.启动:5.关闭:6.部署:静态项目和动态项目将tomcat集成到IDEA中,并且创建JavaEE项目,部署项目Servletweb动态工程目录介绍热部署快速... 查看详情

servlet快速入门(代码片段)

1.创建web项目,导入servlet依赖坐标<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>povided</scope></dependency>2.创建:定义一个类,实现servlet接口... 查看详情

[mybatisplus]入门案例(代码片段)

入门案例创建测试数据库和表CREATEDATABASE`mybatis_plus`/*!40100DEFAULTCHARACTERSETutf8mb4*/;use`mybatis_plus`;CREATETABLE`user`(`id`bigint(20)NOTNULLCOMMENT'主键ID',`name&# 查看详情

servlet快速入门:第一个servlet程序(代码片段)

Servlet是整个JavaWeb开发的核心,同时也是一套规范,即公共接口。用于处理客户端发来的请求并作出响应。通常情况下我们会发送不同的请求并交由不同的处理程序来处理,例如处理用户信息和处理订单信息的程序是不同的。而... 查看详情

案例:java简单写一个验证码(代码片段)

验证码1.本质:图片2.目的:防止恶意表单注册importjavax.imageio.ImageIO;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServ 查看详情