猿问

用数据库中的数据加载一个jsp页面

我想在我的项目中加载一个课程页面,其中包含数据库中的所有课程名称。


在这里我们可以看到一个示例edx 课程页面


无需单击任何按钮或提交即可加载有关所有课程的数据。那么我该怎么做呢?


下面是我尝试通过从 Server1.java 向 client1.jsp 发送字符串的简单示例。但是当我打开 client1.jsp 时它什么也没显示。


文件-Servlet1.java


import java.io.*;

import javax.servlet.*;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.*;

import javax.websocket.Session;


import java.util.*;



@WebServlet("/Servlet1")

public class Servlet1 extends HttpServlet {

    private static final long serialVersionUID = 1L;


    public void doGet(HttpServletRequest request, HttpServletResponse 

        response) throws ServletException, IOException {


        String name="Rahul";

        HttpSession s=request.getSession(true);


        s.setAttribute("myname", name);

        response.sendRedirect("client1.jsp");



    }


}

文件-client1.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8" %>

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<!DOCTYPE html>

    <html>

        <head>

            <meta charset="UTF-8">

            <title>Insert title here</title>

        </head>

    <body>

        <div><h1>${myname}</h1></div>

        <h1><%session.getAttribute("myname");%></h1>


    </body>

</html>


胡子哥哥
浏览 121回答 1
1回答

喵喵时光机

你调用servletservlet 的doGet()方法从数据库中获取名称(List<String>例如作为 a&nbsp;)并将它们存储在请求的属性(names例如命名)中(而不是会话)servlet使用请求分派器转发(而不是重定向)到 JSPJSP 使用 JSTL (&nbsp;<c:forEach>)(而不是使用 scriptlet)循环遍历存储在names属性中的名称。对于每个名称,它使用<c:out>.
随时随地看视频慕课网APP

相关分类

Java
我要回答