请按如下要求设计一个JavaWeb应用程序 1.设计一个用于监测ServletContext对象创建和销毁的程序,类名为:CustomServletContextListener,其中当监听到ServletContext对象被创建时,向ServletContext对象中存储三个属性,第一个属性名称为:sno,属性值为:自己的真实学号;第二个属性名称为:name,属性值为:自己的真实姓名;第三个属性名称为:gender,属性值为:自己的真实性别。 2.设计一个Servlet程序,名称为:SelfInfoServlet,访问地址为:/info,在该Servlet程序中获取ServletContext对象中三个属性(sno、name、gender)的属性值,并将获得的属性值拼接成如下字符串格式:学号:XXX,姓名:XXX,性别:XXX,其中:XXX为获取到的属性值,并将拼接好的字符串作为属性值存储到request对象中属性名为selfInfo中,最后采用请求转发的方式跳转到viewInfo.jsp页面,在该JSP页面中显示request对象的selfInfo属性信息。 3.设计一个JSP页面,名称为:visit.jsp,在该页面中设置一个<a>超链接,用于访问SelfInfoServlet程序。
时间: 2024-02-15 17:03:48 浏览: 139
好的,以下是你要求的JavaWeb应用程序的设计:
1. CustomServletContextListener.java
```
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class CustomServletContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext servletContext = sce.getServletContext();
// 向ServletContext对象中存储三个属性
servletContext.setAttribute("sno", "你的学号");
servletContext.setAttribute("name", "你的姓名");
servletContext.setAttribute("gender", "你的性别");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
// do nothing
}
}
```
2. SelfInfoServlet.java
```
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletContext;
public class SelfInfoServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取ServletContext对象
ServletContext servletContext = request.getServletContext();
// 获取三个属性
String sno = (String) servletContext.getAttribute("sno");
String name = (String) servletContext.getAttribute("name");
String gender = (String) servletContext.getAttribute("gender");
// 拼接字符串
String selfInfo = "学号:" + sno + ",姓名:" + name + ",性别:" + gender;
// 存储到request对象中
request.setAttribute("selfInfo", selfInfo);
// 请求转发到viewInfo.jsp页面
request.getRequestDispatcher("/viewInfo.jsp").forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
```
3. visit.jsp
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Visit Page</title>
</head>
<body>
<a href="${pageContext.request.contextPath}/info">访问SelfInfoServlet</a>
</body>
</html>
```
4. viewInfo.jsp
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>View Info</title>
</head>
<body>
${selfInfo}
</body>
</html>
```
以上是你要求的JavaWeb应用程序的设计,你可以将代码复制到相应的Java文件中,并在web.xml文件中配置CustomServletContextListener和SelfInfoServlet的映射关系,最后部署到Tomcat服务器中运行。
阅读全文