关键词:
一、需求:登陆页面,查询数据库是否有此人,并统计登陆的次数、显示成功登陆与否信息
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 查看详情