《Web应用技术》第一次课后作业

上机任务(利用好chatgpt,文心一言等工具。):

1、下载软件,并安装:JDK,TOMCAT,IDEA

2、学会用记事本编写jsp文件,并放进tomcat的相关目录下,运行。

3、学会在IDEA编辑器中新建java web项目,并配置tomcat,运行jsp页面。

4、自学IDEA的各种使用技巧。

【练习结果截图如下:】

<%--
  Created by IntelliJ IDEA.
  User: 32682
  Date: 2024/4/1
  Time: 11:04
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>

<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
输出九九乘法表
<br>
<%
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= i; j++) {
            String str = j + "*" + i + "=" + j * i; out.print(str + "&nbsp");
        }out.println("<br>");
    }
%>
</body>
</html>

5、JSP编程练习:

(1)用JSP实现用户获取用户输入的操作。(仿教材例5-5)

input.jsp

output.jsp

【练习结果截图如下:】

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>练习1</title>
</head>
<body>
<form action="test_output.jsp" method="post">
    <table border="1px solid" frame="void">
        <tr>
            <td>
                姓名:
            </td>
            <td>
                <input type="text" name="name">
            </td>
        </tr>
        <tr>
            <td>
                性别:
            </td>
            <td>
                <input type="radio" name="sex" value="男">男
                <input type="radio" name="sex" value="女">女
            </td>
        </tr>
        <tr>
            <td>
                爱好:
            </td>
            <td>
                <div>
                    <input type="checkbox" name="like" value="篮球">篮球
                    <input type="checkbox" name="like" value="旅游">旅游
                    <input type="checkbox" name="like" value="音乐">音乐
                    <input type="checkbox" name="like" value="摄影">摄影
                </div>
            </td>
        </tr>
        <tr>
            <td>
                E-mail:
            </td>
            <td>
                <input type="text" name="E-mail">
            </td>
        </tr>
        <tr>
            <td>

            </td>
            <td>
                <input type="submit" value="Submit">
                <input type="reset" value="全部重写">
            </td>
        </tr>
    </table>
</form>
</body>
</html>
<%@ page import="java.nio.charset.StandardCharsets" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
    <title>练习2</title>
</head>
<body>
<table border="1px solid" frame="void">
    <tr>
        <td>
            姓名:
        </td>
        <td>
            <%=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8")%>
        </td>
    </tr>
    <tr>
        <td>
            性别:
        </td>
        <td>
            <%=new String(request.getParameter("sex").getBytes("ISO-8859-1"),"UTF-8")%>
        </td>
    </tr>
    <tr>
        <td>
            爱好:
        </td>
        <td>
            <%
                String []like= request.getParameterValues("like");
                for(int i=0;i< like.length;i++){
            %>
            <%=new String(like[i].getBytes("ISO-8859-1"),"UTF-8")+"&nbsp;"%>
            <%
                }
            %>
        </td>
    </tr>
    <tr>
        <td>
            E-mail:
        </td>
        <td>
            <%=new String(request.getParameter("E-mail").getBytes("ISO-8859-1"),"UTF-8")%>
        </td>
    </tr>

</table>
</body>
</html>

 

(2)用JSP实现用户登录验证的功能。

  • 如果用户输入正确的账号密码,则提示问候语句;如果用户输入错误的账号密码,则提示账号密码有误。
  • 任意编写3-4个页面,为每个页面添加权限控制。如果用户已经登录,则在每个页面页首提示:欢迎你,**。如果没有登录跳转到这个页面,则提示:非法访问。

 

 

 

【练习结果截图与代码如下:】

 

<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="GB18030"%>
<html>
<head>
  <title>Title</title>
</head>
<body>
<%
  String username = request.getParameter("UserName");
  String password = request.getParameter("UserPassword");
  if(username!=null){
    if(username.equals("1")&&password.equals("a")){
      out.println("您好,张三!");
    }
    if(username.equals("2")&&password.equals("b")){
      out.println("您好,李四!");
    }
    if (username.equals("3")&&password.equals("c")){
      out.println("您好,Tom!");
    }
    else{
      out.println("您输入的账号密码有误,请重新输入!");
    }
  }
  else{
    out.println("请输入账号!");
  }
%>

</body>
</html>

 

<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="GB18030"%>
<html>
<head>
    <title>登陆界面</title>
</head>
<body>
<%
    String error = request.getParameter("error");
    if (error != null && error.equals("true")) {
        out.println("<p style='color: red;'>用户名或密码错误,请重试。</p>");
    }
%>
<form action="user_check.jsp" method="post">
    <ul style="list-style: none">
        <li>
            用户名:
            <input type="text" name="UserName" required>
        </li>
        <li>
            密码:
            <input type="password" name="UserPassword" required>
        </li>
        <li>
            <input type="submit" value="登录">
        </li>
    </ul>
</form>
</body>
</html>

 

<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="GB18030"%>
<html>
<head>
    <title>检查界面</title>
</head>
<body>
<%
    String name= request.getParameter("UserName");
    String password= request.getParameter("UserPassword");
    if (name.equals("Tom")&&password.equals("c")){
        session.setAttribute("name",name);
        response.sendRedirect("user_success.jsp");
    }
    else{
        response.sendRedirect("user1.jsp?error=true");
    }
%>
</body>
</html>

 

<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="GB18030"%>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    String name=(String)session.getAttribute("name");
    if(name!=null){
        out.println("您好!"+name);
    }
    else{
        out.println("您好!"+null);
        out.println("非正常登录");
    }
    session.invalidate();
%>
</body>
</html>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值