1-12 自由编程
来源:1-12 自由编程
慕的地2082093
2020-01-16 15:51:26
package com.imooc.el;
public class Course {
private String id;
private String name;
private String category;
public Course() {
super();
// TODO Auto-generated constructor stub
}
public Course(String id, String name, String category) {
super();
this.id = id;
this.name = name;
this.category = category;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
@Override
public String toString() {
return "Course [id=" + id + ", name=" + name + ", category=" + category + "]";
}
}
package com.imooc.el;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class CourseServlet
*/
@WebServlet("/demo")
public class CourseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CourseServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
Course c = new Course();
c.setId("1");
c.setName("语文");
c.setCategory("文学");
request.setAttribute("course",c);
request.getRequestDispatcher("/demo.jsp").forward(request, response);
}
}
<%@page import="javax.management.modelmbean.RequiredModelMBean"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="com.imooc.el.Course"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<% Course c = (Course)request.getAttribute("course");
out.println("<h1> 课程id:"+c.getId()+"</h1>");
out.println("<h2>课程名:"+c.getName()+"</h2>");
out.println("<h2>课程类别:"+c.getCategory()+"</h2>");
%>
<h1>id: ${requestScope.course.id}</h1>
<h2>name: ${requestScope.course.name}</h2>
<h2>category: ${requestScope.course.category}</h2>
<h2>level: ${param.level}</h2>
</body>
</html>
老师,看下对吗?老师为什么所有访问都是以demo结尾的如:http://localhost:8080/el/demo和http://localhost:8080/el/demo?level=primary如果以demo.jsp结尾的就不对如:http://localhost:8080/el/demo.jsp?level=primary
1回答
好帮手慕酷酷
2020-01-16
同学你好,代码编写的是正确的,访问不能以demo.jsp结尾的原因是,首先同学要明白这个页面的执行流程,是先进行访问的CourseServlet,在servlet中为对象进行赋值,最后跳转到demo.jsp页面中进行展示数据。
而CourseServlet的映射地址为/demo,所以demo.jsp是不正确的。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!