1.下载安装相关软件
1.JDK
2.TOMCAT
对运行中的乱码进行修改:
运行成功:
3.IDEA
2.学会用记事本编写jsp文件,并放进tomcat的相关目录下,运行。
3.学会在IDEA编辑器中新建java web项目,并配置tomcat,运行jsp页面。
遇到8080端口被占用的情况后:
1.win+R然后输入CMD在命令行中输入netstat -ano | findstr "8080"查看占用8080端口的PID
2.在任务管理器中输入PID查看占用端口号的程序
3.输入taskkill /pid 端口号 /f结束占用端口号的进程
4.自学IDEA的各种使用技巧。
1.对jsp文件修改后刷新能够直接呈现最新的jsp界面
2.设置上下文根,访问的网址
5.jsp编程练习:
(1)用JSP实现用户获取用户输入的操作。(仿教材例5-5)
1.input.jsp
input.jsp页面主要是应用html编写网页,创建一个form表单,在表单中分别加入文本框、单选按钮、复选框。
<%--
Created by IntelliJ IDEA.
User: 刘小灿
Date: 2024/4/1
Time: 21:18
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>练习1</title>
</head>
<body>
<form action="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>
点击“全部重写”按钮后将清空全部内容:
点击submit按钮后将跳转到output.jsp页面:
2.output.jsp
对于文本元素、单选按钮利用getParameter()方法来获取具体的值,对于复选框要使用getParameterValues()方法来获取一个字符串数组。通过循环遍历这个数组得到用户选定的所有内容。
<%@ page import="java.nio.charset.StandardCharsets" %><%--
Created by IntelliJ IDEA.
User: 刘小灿
Date: 2024/4/1
Time: 21:24
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="GB18030"%>
<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")+" "%>
<%
}
%>
</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实现用户登录验证的功能。
- 如果用户输入正确的账号密码,则提示问候语句;如果用户输入错误的账号密码,则提示账号密码有误。
提供的用户数据为:
利用request的方法获取用户输入的数据,将用户输入的数据与现存的数据进行对照,如果满足账号和密码则登录成功,如果不满足则弹出失败提示。
<%--
Created by IntelliJ IDEA.
User: 刘小灿
Date: 2024/4/4
Time: 21:20
To change this template use File | Settings | File Templates.
--%>
<%@ 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("2367498567")&&password.equals("123456")){
out.println("您好,张三!");
}
if(username.equals("6734591234")&&password.equals("654321")){
out.println("您好,李四!");
}
if (username.equals("4629001458")&&password.equals("zxcvbnm256")){
out.println("您好,Tom!");
}
else{
out.println("您输入的账号密码有误,请重新输入!");
}
}
else{
out.println("请输入账号!");
}
%>
</body>
</html>
成功登录时,页面最上端会显示是否登录成功,弹出相应的文本,如“您好,Tom!”
登录失败时,将会显示“您输入的账号密码有误,请重新输入!”
- 任意编写3-4个页面,为每个页面添加权限控制。如果用户已经登录,则在每个页面页首提示:欢迎你,**。如果没有登录跳转到这个页面,则提示:非法访问。
1.编写第一个页面user2.jsp 页面主要内容为登录界面,同时在登录错误时接收error参数,若error值为true则提示用户重新登陆。
user2.jsp:
<%--
Created by IntelliJ IDEA.
User: 刘小灿
Date: 2024/4/4
Time: 22:51
To change this template use File | Settings | File Templates.
--%>
<%@ 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="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>
2.编写第二个页面check.jsp 页面主要用来检查用户输入的用户名和密码是否正确,如果正确则跳转到对应的页面,错误则重定向到user2.jsp页面并传递error参数。
check.jsp:
<%--
Created by IntelliJ IDEA.
User: 刘小灿
Date: 2024/4/5
Time: 11:03
To change this template use File | Settings | File Templates.
--%>
<%@ 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("zxcvbnm256")){
session.setAttribute("name",name);
response.sendRedirect("successful111.jsp");
}
else{
response.sendRedirect("user2.jsp?error=true");
}
%>
</body>
</html>
3.编写第三个页面successful.jsp 页面主要用来登陆成功后跳转,显示“您好!**”,但如果没有登录强制跳转到此界面则会显示“非正常登录”。
successful.jsp:
<%--
Created by IntelliJ IDEA.
User: 刘小灿
Date: 2024/4/5
Time: 11:11
To change this template use File | Settings | File Templates.
--%>
<%@ 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("您好!"+name);
out.println("非正常登录");
}
session.invalidate();
%>
</body>
</html>