jsp本质上是一个servlet文件,这上面可以写java代码,
<%@ %>jsp的指令
<% %> 这个区域可以编写java代码
<%= %>这个区域可以将变量或表达式的值显示在网页上
在servlet中可以通过:
request.setAttribute(“uname”, lname);
request.setAttribute(“upass”, lpass);
将数据存储在request作用域中
获取存储获取的数据,在jsp中,用:
String uname = (String)request.getAttribute(“uname”);
String upass = (String)request.getAttribute(“upass”);
取得存储的数据,这里需要用(String)强行转换一下string,在jsp中,用:
<%= uname %>
<%= upass %>
显示数据结果
请求转发(网站内部的):
request.getRequestDispatcher("/regist_result.jsp").forward(request, response);
此方法可以将网页跳转至网站内部的目标网页中
ps:但凡看到java代码,都是在服务器端执行的
jsp是在服务器端执行的程序,本质上就是一种特殊的servlet
以下是相关的代码:
regist.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="http://localhost:8080/20181129/RegistServlet" method="post">
用户名:<input type="text" name="lname"><br>
密码:<input type="password" name="lpass"><br>
密码确认:<input type="password" name="rpass"><br>
性别:<input type="radio" name="lsex" value="1">男
<input type="radio" name="lsex" value="2">女
<input type="radio" name="lsex" value="3">保密
地区:<select name="larea">
<option value="china">china</option>
<option value="japan">japan</option>
<option value="korean">korean</option>
</select><br>
爱好:<input type="checkbox" name="ah" value="chifan">chi,fan
<input type="checkbox" name="ah" value="heshui">he,shui
<input type="checkbox" name="ah" value="shuijiao">shui,jiao
<input type="submit" value="提交">
</form>
</body>
</html>
RegistServlet:
package com.neuedu.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/RegistServlet")
public class RegistServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String lname = request.getParameter("lname");
String lpass = request.getParameter("lpass");
String rpass = request.getParameter("rpass");
String lsex = request.getParameter("lsex");
String larea = request.getParameter("larea");
String[] ah = request.getParameterValues("ah");
System.out.println(lname);
System.out.println(lpass);
System.out.println(rpass);
System.out.println(lsex);
System.out.println(larea);
for(String item : ah)
{
System.out.println(item);
}
request.setAttribute("uname", lname);
request.setAttribute("upass", lpass);
//给出客户端动态网页回应
request.getRequestDispatcher("/regist_result.jsp").forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
regist_result.jsp:
package com.neuedu.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/RegistServlet")
public class RegistServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String lname = request.getParameter("lname");
String lpass = request.getParameter("lpass");
String rpass = request.getParameter("rpass");
String lsex = request.getParameter("lsex");
String larea = request.getParameter("larea");
String[] ah = request.getParameterValues("ah");
System.out.println(lname);
System.out.println(lpass);
System.out.println(rpass);
System.out.println(lsex);
System.out.println(larea);
for(String item : ah)
{
System.out.println(item);
}
request.setAttribute("uname", lname);
request.setAttribute("upass", lpass);
//给出客户端动态网页回应
request.getRequestDispatcher("/regist_result.jsp").forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}