程序员的知识教程库

网站首页 > 教程分享 正文

JSP技术(JSP技术基于JAVA语言,是不区分大小写的)

henian88 2024-08-14 18:31:11 教程分享 18 ℃ 0 评论

JSP

JSP语法

page

taglib

include

<%--表示包含或引入head.jsp文件 静态包含--%>
<%@ include file="head.jsp"%>
<%--表示包含或引入head.jsp文件 动态包含 推荐使用--%>
<jsp:include page="head.jsp"></jsp:include>

JSP内置对象

  • out
  • request
  • response
  • session
  • application
  • pageContext
  • exception

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);
    }
}

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表