JSP
JSP语法
page
taglib
include
<%--表示包含或引入head.jsp文件 静态包含--%>
<%@ include file="head.jsp"%>
<%--表示包含或引入head.jsp文件 动态包含 推荐使用--%>
<jsp:include page="head.jsp"></jsp:include>
JSP内置对象
JavaBean
package com.demo.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {
private int id;
private String name;
}
<%@ page import="com.demo.model.Student" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>JavaBean组件的使用</title>
</head>
<body>
<%--表示创建一个Student类型的对象由student引用变量负责记录,有效范围是当前页面--%>
<jsp:useBean id="student" scope="page" class="com.demo.model.Student"></jsp:useBean>
<%--将Student对象中名字为id的属性设置为2001--%>
<jsp:setProperty name="student" value="2001" property="id" />
<jsp:setProperty name="student" value="wangwu" property="name" />
<%
// Student student = new Student();
// student.setId(1001);
// student.setName("zhangfei");
%>
<%--<%= "获取到学号是:" + student.getId()%>--%>
<%--<%= "获取到姓名是:" + student.getName()%>--%>
姓名是:<jsp:getProperty name="student" property="name"/> <br>
学号是:<jsp:getProperty name="student" property="id" /> <br>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>实现向JavaBean传入参数</title>
</head>
<body>
<form action="bean.jsp" method="post">
学号:<input type="text" name="id1"> <br>
姓名:<input type="text" name="name1"> <br>
<input type="submit" value="向JavaBean组件传参">
</form>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>实现前端页面传入过来参数的接收和设置</title>
</head>
<body>
<jsp:useBean id="student" scope="session" class="com.demo.model.Student"></jsp:useBean>
<jsp:setProperty name="student" property="id" param="id1" />
<jsp:setProperty name="student" property="name" param="name1" />
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>实现JavaBean组件中对象属性值</title>
</head>
<body>
<jsp:useBean id="student" scope="session" class="com.demo.model.Student"></jsp:useBean>
<%--获取Student对象中属性id,name并打印--%>
经过参数赋值后获取到的学号是: <jsp:getProperty name="student" property="id"/>
经过参数赋值后获取到的姓名是: <jsp:getProperty name="student" property="name"/>
</body>
</html>
MVC
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="login" method="post">
用户名:<input type="text" name="userName" /> <br>
密码:<input type="text" name="password" /> <br>
<span style="color:red"><%= request.getAttribute("error")==null?"":request.getAttribute("error")%></span> <br>
<input type="submit" name="登录" />
</form>
</body>
</html>
<%@ page import="com.demo.model.User" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>主页面</title>
</head>
<body>
<h1>登录成功,欢迎<%= ((User)session.getAttribute("user")).getUsername()%>使用</h1>
</body>
</html>
package com.demo.servlet;
import com.demo.model.User;
import com.demo.service.UserService;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "LoginServlet", urlPatterns = "/login")
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String userName = req.getParameter("userName");
System.out.println("获取到的用户名为:" + userName);
String password = req.getParameter("password");
System.out.println("获取到的密码为:" + password);
// 创建UserService类型的对象实现数据的校验功能
UserService userService = new UserService();
User user = userService.userLoginService(new User(userName, password));
if (null == user) {
System.out.println("用户名和密码错误。。。");
req.setAttribute("error","登陆失败,用户名或密码错误!");
// 转发
RequestDispatcher requestDispatcher = req.getRequestDispatcher("login.jsp");
requestDispatcher.forward(req, resp);
} else {
System.out.println("登录成功,欢迎使用。。。");
// 将登录成功的用户信息放入session对象中实现多个请求共享
req.getSession().setAttribute("user", user);
// 重定向
resp.sendRedirect("main.jsp");
}
}
}
package com.demo.dao;
import com.demo.model.User;
public interface UserDao {
User userLogin(User user);
}
package com.demo.dao.impl;
import com.demo.dao.UserDao;
import com.demo.model.User;
import com.demo.util.DbUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class UserDaoImpl implements UserDao {
@Override
public User userLogin(User user) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet resultSet = null;
try {
// 获取数据库连接
conn = DbUtil.getConnection();
// 准备sql语句
String sql = "select * from t_user where userName = ? and password = ? ";
// 执行sql语句
ps = conn.prepareStatement(sql);
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
resultSet = ps.executeQuery();
if (resultSet.next()) {
User tu = new User(resultSet.getString("userName"), resultSet.getString("password"));
return tu;
}
} catch (SQLException e) {
throw new RuntimeException(e);
} finally {
try {
// 释放资源
DbUtil.closeConnection(conn, ps);
if (null != resultSet) {
resultSet.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return null;
}
}
package com.demo.factory;
import com.demo.dao.UserDao;
import com.demo.dao.impl.UserDaoImpl;
public class UserDaoFactory {
public static UserDao getUserDao() {
return new UserDaoImpl();
}
}
package com.demo.service;
import com.demo.dao.UserDao;
import com.demo.factory.UserDaoFactory;
import com.demo.model.User;
public class UserService {
private UserDao userDao;
public UserService() {
this.userDao = UserDaoFactory.getUserDao();
}
public User userLoginService(User user) {
return userDao.userLogin(user);
}
}
本文暂时没有评论,来添加一个吧(●'◡'●)