JSP程序设计练习--第三章-课后习题6

JSP程序设计练习--第三章-课后习题6

题3-6 Tag标记

编写两个Tag文件Rect.tag和Circle.tag。Rect.tag负责计算矩形的面积,Circle.tag负责计算圆的面积。编写一个JSP页面,该JSP页面使用Tag标记调用Rect.tag和Circle.tag。调用Rect.tag时,向其传递矩形的两个边的长度,调用Circle.tag时,向其传递圆的半径。

代码设计

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="rect" tagdir="/WEB-INF/tags" %>
<html>
  <body>
  <table cellspacing="1" cellpadding="1" width="20%"  border="0">
      <tr valign="bottom">
          <td><a href="/index.jsp"><font size=3>计算矩形面积</font> </a> </td>
          <td><a href="/index2.jsp"><font size=3>计算圆的面积
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
com、net_、java_ 是Java中的三个常用的包(package),它们用于对类进行组织和分类。而 ae_JavaWeb程序设计是一本JavaWeb方面的教材,下面将从com_、net_java三个方面讲述该教材第1-6章的习题参考答案。 1. com_方面 第1章:JavaWeb基础 习题1-1 参考答案: ```java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } ``` 习题1-2 参考答案: ```html <html> <head> <title>Hello World</title> </head> <body> <h1>Hello World</h1> </body> </html> ``` 第2章:Servlet技术 习题2-1 参考答案: ```java @WebServlet("/hello") public class HelloWorldServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Hello World</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Hello World</h1>"); out.println("</body>"); out.println("</html>"); } } ``` 习题2-2 参考答案: ```java public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String name = req.getParameter("name"); String age = req.getParameter("age"); resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>MyServlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>姓名:" + name + "</h1>"); out.println("<h1>年龄:" + age + "</h1>"); out.println("</body>"); out.println("</html>"); } } ``` 2. net_方面 第3章:JSP技术 习题3-1 参考答案: ```jsp <%@ page language="java" contentType="text/html;charset=UTF-8" %> <html> <head> <title>Hello World</title> </head> <body> <h1>Hello World</h1> </body> </html> ``` 习题3-2 参考答案: ```jsp <%@ page language="java" contentType="text/html;charset=UTF-8" %> <html> <head> <title>MyJSP</title> </head> <body> <h1>姓名:<%= request.getParameter("name") %></h1> <h1>年龄:<%= request.getParameter("age") %></h1> </body> </html> ``` 第4章:JSTL和EL技术 习题4-1 参考答案: ```jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>Hello World</title> </head> <body> <c:set var="name" value="World" /> <h1>Hello ${name}</h1> </body> </html> ``` 习题4-2 参考答案: ```jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>MyJSP</title> </head> <body> <c:set var="name" value="${param.name}" /> <c:set var="age" value="${param.age}" /> <h1>姓名:<c:out value="${name}" /></h1> <h1>年龄:<c:out value="${age}" /></h1> </body> </html> ``` 3. java_方面 第5章:JavaBean技术 习题5-1 参考答案: ```java public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ``` 习题5-2 参考答案: ```jsp <jsp:useBean id="person" class="com.example.Person" scope="request" /> <jsp:setProperty name="person" property="name" value="<%= request.getParameter("name") %>" /> <jsp:setProperty name="person" property="age" value="<%= request.getParameter("age") %>" /> <html> <head> <title>MyJSP</title> </head> <body> <h1>姓名:<jsp:getProperty name="person" property="name" /></h1> <h1>年龄:<jsp:getProperty name="person" property="age" /></h1> </body> </html> ``` 第6章:过滤器技术 习题6-1 参考答案: ```java @WebFilter(filterName = "EncodingFilter", urlPatterns = "/*") public class EncodingFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); chain.doFilter(request, response); } @Override public void destroy() { } } ``` 习题6-2 参考答案: ```java @WebFilter(filterName = "LoginFilter", urlPatterns = "/login.jsp") public class LoginFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest)request; HttpServletResponse resp = (HttpServletResponse)response; String username = req.getParameter("username"); String password = req.getParameter("password"); if (username != null && password != null && username.equals("admin") && password.equals("admin")) { chain.doFilter(request, response); } else { resp.sendRedirect(req.getContextPath() + "/error.jsp"); } } @Override public void destroy() { } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_linbobo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值