servlet

是一个动态的web开发技术,是一个类,运行在服务器端的一个java小程序。
编写一个servlet的步骤:
	1.编写一个类(类名自己起)
		要求:a.继承HttpServlet
			  b.重写doGet或者doPost方法
	2.编写配置文件(WEB-INF/web.xml)
		要求:a.注册servlet
				```
				<servlet>
				  	<servlet-name>LoginServlet</servlet-name>
				  	<servlet-class>com.web.servlet.LoginServlet</servlet-class>
				 </servlet>
				```
		      b.绑定路径
			```
				<servlet-mapping>
				  	<servlet-name>LoginServlet</servlet-name>
				  	<url-pattern>/login</url-pattern>
				  </servlet-mapping>
				```
	3.访问
		http://主机:端口号/项目名/路径

用户登录的简单案例

步骤:1.先建立数据库和表,并在表中插入一条数据

create database day09;
		use day09;
		create table user(
			id int primary key auto_increment,
			username varchar(20),
			password varchar(20),
			email varchar(20),
			name varchar(20),
			sex varchar(10),
			birthday date,
			hobby varchar(50)
		);
		insert into user values (null,'tom','123','tom@126.com','tom','1','1988-01-01',null);

2.创建动态web项目
3.将页面拷进项目中的WebContent文件夹下
需要给用户名和密码添加name属性
修改表单的action属性
action=“http://localhost/day09/login
添加method属性
method=“post”
4.导入jar包
dbutils、c3p0
5.导入工具类和配置文件
datasourceUtils、c3p0-config.xml
6.创建servlet
接收username和password

//0.设置编码
		response.setContentType("text/html;charset=utf-8");
		//1.接收用户名和密码
		String username=request.getParameter("username");
		String password=request.getParameter("password");

调用service层(UserService)完成登录操作

User user=null;
	try {
				user=new UserService().login(username,password);
			} catch (SQLException e) {
				// TODO Auto-generated catch block
			}
		
		//3.判断user是否为空
		if(user==null) {
			//3.1若为空,写“用户名和密码不匹配”(没有在数据库中找到相应的用户)
			response.getWriter().print("用户名与密码不匹配,3秒之后跳转");
			//案例二:定时跳转
			response.setHeader("refersh","3;url=/day09/login.htm");
		}else {
			//3.2若不为空,写"XXX:欢迎回来"
			response.getWriter().print(user.getUsername()+":欢迎回来");
		}
	}

7.UserService

public User login(String username,String password) throws SQLException {
		UserDao dao =new UserDao();
		return dao.getUserByUsernameAndPassword(username, password);
	}

8,dao

public User getUserByUsernameAndPassword(String username,String password) throws SQLException {
		//创建一个与数据库关联的queryrunner对象(dbutils中的一个方法,封装了jdbc)
		QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource());
		//编写sql
		String sql="select *form user where username=? and password=?";
		Object [] params = {username,password};
		//执行sql(将结果的第一行记录作为javabean对象返回)
		User user=qr.query(sql, new BeanHandler<>(User.class),params);
		return user;
	}
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐