java web初学者 jsp+javabean+servlet 登陆

一:MVC模式:  jsp视图层(View),负责展示数据;javabean模型层(Model);servlet控制层(controller),负责处理请求,产生响应。

二:建立web项目:

         new  login.jsp

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>用户登陆</title>
</head>
<body>
<!-- Form 表单提交用户信息-->
<form method = "post" name = "frmLogin" action = "<%=request.getContextPath()%>LoginServlet">
<h1 align = "center"> 用户登录</h1> <br>
<div align = "center">
用户名:<input type = "text" name = "userName" placeholder = "your name" required="required" /> <br>
密 码:<input type = "password" name = "password" placeholder = "your password" required="required" /> <br>
<input type = "submit" name = "Submit" value= "提交" / >
     
<input type = "reset" name = "Reset" value = "重置"> <br>
</div>
</form>
</body>
</html>

    创建javabean 实体类:

package org.test.model;

public class User {
private Long id;
private String username;
private String password;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}



}

  定义用户实体类所需的方法:

package org.test.dao;

       public class UserDao {

// 建立连接
java.sql.Connection connection = null ;
java.sql.PreparedStatement pre = null;
ResultSet rs = null ;
public User getUser(String username ,String password){
User user = new User();
try {
// 注册JDBC驱动程序
Class.forName ( "com.mysql.jdbc.Driver" ).newInstance( ) ;
String url = "jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8" ;
// 建立连接
connection = DriverManager.getConnection( url , "root" , "root" ) ;


String sql = "select * from user where username=? and password=?" ;
pre = connection.prepareStatement(sql); // 返回查询结果
pre.setString(1, username);//赋值
pre.setString(2, password);
rs = pre.executeQuery();//执行查询,返回结果集
while(rs.next()){//读取信息,封装在user中
user.setId(rs.getLong("id"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
}

} catch (Exception e) {
user = null;
e.printStackTrace();
}
return user;
}

}
  new LoginServlet 控制层:

package org.test.servlet;

public class LoginServlet extends HttpServlet{



public void destroy() {
super.destroy();

}


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

}


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String userName = request.getParameter("userName");
String password = request.getParameter("password");
UserDao userDao = new UserDao();
User user = userDao.getUser(userName, password);
if(null!=user){
HttpSession session = request.getSession();
session.setAttribute("user", user);
out.println("<script>alert('登陆成功')</script>");
}else{
out.println("<script>alert('登陆失败')</script>");
}
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}

}


public void init() throws ServletException {

}

}


web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>LoginServlet</display-name>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>org.test.servlet.LoginServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值