首先配置tomcat环境,开启tomcat:
配置完成之后打开localhost:8080之后进入apache tomcat官网,配置成功
将课件中的demo复制到tomcat的webapps目录下的ROOT文件夹下,开启tomcat环境,输入网址localhost:8080/demo,运行结果如下:
这边分别创建一个jsp文件和txt文件
将jsp文件复制到tomcat文件中的webapps\ROOT目录下,输入网址localhost:8080/myfirst.jsp,开启tomcat环境,运行结果如下:
下面使用idea进行jsp操作:
配置文件:
在web添加新的jsp文件hello.jsp:
运行:
再来新建一个form.jsp文件,运行:
练习:
创建一个输入页面input.jsp
<%--
Created by IntelliJ IDEA.
User: Yiyun
Date: 2024/4/6
Time: 16:30
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<form action="show.jsp" method="post">
<table border="1">
<tr>
<td>姓名:</td>
<td><input name="name" type="text"></td>
</tr>
<tr>
<td>性别:</td>
<td>
<input type="radio" name="gender" value="男" checked>男
<input type="radio" name="gender" value="女">女
</td>
</tr>
<tr>
<td>爱好:</td>
<td>
<input type="checkbox" name="hobby" value="篮球">篮球
<input type="checkbox" name="hobby" value="旅游">旅游
<input type="checkbox" name="hobby" value="音乐">音乐
<input type="checkbox" name="hobby" value="摄影">摄影
</td>
</tr>
<tr>
<td>email:</td>
<td><input name="email" type="email"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="submit">
<input type="reset" value="全部重写">
</td>
</table>
</form>
创建一个展示页面show.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
//防止乱码
request.setCharacterEncoding("UTF-8");
/* request.getParameterValues("hobby")返回的是一个字符串数组(String[]),
而不是单个字符串。当你试图在JSP页面上直接输出一个数组时,它会显示数组的类型([Ljava.lang.String;)
和哈希码(@e3ae17c, 想要显示所有的爱好,需要遍历这个数组并逐个输出 */
String[] hobbies = request.getParameterValues("hobby");
String hobbyList = "";
if (hobbies != null) {
for (String hobby : hobbies) {
hobbyList += hobby + " ";
}
}
%>
<h1>用户信息</h1>
<table border="1">
<tr>
<td>姓名:</td>
<td><%= request.getParameter("name") %></td>
</tr>
<tr>
<td>性别:</td>
<td><%= request.getParameter("gender") %></td>
</tr>
<tr>
<td>爱好:</td>
<td><%= hobbyList %></td>
</tr>
<tr>
<td>Email:</td>
<td><%= request.getParameter("email") %></td>
</tr>
</table>
效果展示:
输入相关信息之后点击提交,会跳转到show.jsp页面中:
这里需要注意几个点:
<form action="show.jsp" method="post"> 控制跳转页面- 每一条语句下面都要添加一个name属性,以便被requests对象查询
- value属性才是浏览器读入输出的结果
request.setCharacterEncoding("UTF-8");方法可以防止乱码 request.getParameterValues("hobby")返回的是一个字符串数组(String[]), 而不是单个字符串。当你试图在JSP页面上直接输出一个数组时,它会显示数组的类型([Ljava.lang.String;)和哈希码(@e3ae17c, 想要显示所有的爱好,需要遍历这个数组并逐个输出
登录页面:
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<%
String str=request.getParameter("username");
String password=request.getParameter("password");
if(null!=str){
if(str.equals("tom")&&password.equals("123")){
out.println("您好,tom!");
}else{
out.println("您输入的账号密码有误,请重新输入!");
}
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Login</title>
</head>
<body>
<form action="index.jsp" method="post">
账号:<input type="text" name="username">
<br>
密码:<input type="password" name="password">
<br>
<input type="submit" value="登录">
</form>
</body>
</html>
运行结果:
这里只需要注意一点:Java语法中的
System.out.println()
来输出信息,这个方法会将信息输出到服务器的控制台,而不是返回给用户的浏览器,因此,在浏览器中看不到任何反馈。想要在浏览器中显示信息,需要使用
out.println()
方法