抓取jsp网页源代码(Java后端服务器的静态网页动态网页设计)
优采云 发布时间: 2021-12-08 18:13抓取jsp网页源代码(Java后端服务器的静态网页动态网页设计)
后端服务器一般是指一个servlet容器,用于执行java源程序
常见的网页有html、htm、shtml、asp、aspx、php、jsp等格式
前两者常用于静态网页,后者常用于动态网页。
这里的前端网页使用比较常见的xx.html和xx.jsp网页作为介绍,其他类似
一、静态页面xx.html如何与后台交互:
先看一个最简单的登录界面源码
用户:密码:
这是一个表格。我们看到它充满了纯 html 内容。这是一个静态页面。当我们点击提交按钮时,浏览器会将表单中的数据提交到服务器的loginServlet的相对地址。让我们来看看。什么变成了浏览器的地址:
这不是我们后端servlet的地址吗?然后这个地址指向loginServlet servlet,然后在web.xml文件中找到这个servlet关联的java类来执行服务端程序(先执行,然后会被实例化,然后执行init()函数里面,然后执行service()函数,如果是第二次调用,那么就不用实例化了,直接执行service()函数),我们来看一下服务端的源码程序:
包com.atguigu.javaweb;
导入 java.io.IOException;
导入 java.io.PrintWriter;
导入 javax.servlet.Servlet;
导入 javax.servlet.ServletConfig;
导入 javax.servlet.ServletContext;
导入 javax.servlet.ServletException;
导入 javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
导入 javax.servlet.http.HttpServletRequest;
公共类 loginServlet 扩展了 MyGeneriServlet {
public void init(javax.servlet.ServletConfig config) 抛出 ServletException{
super.init(config);
}
public void service(ServletRequest request, ServletResponse response)
抛出 ServletException, IOException {
//如何获取请求是GET、POST?
HttpServletRequest httpServletRequest=(HttpServletRequest) 请求;
String method=httpServletRequest.getMethod();
System.out.println(方法);
//1.获取请求参数:用户名、密码
String username=request.getParameter("username");
String password=request.getParameter("password");
//获取请求参数
String initUser=getServletContext().getInitParameter("user");
String initpassword=getServletContext().getInitParameter("password");
PrintWriter out=response.getWriter();
//3.对比
if(initUser.equals(username)&&initpassword.equals(password)){
out.print("Hello"+username); // 生成html内容
}else{
out.print("Sorry"+username); // 生成html内容
}
}
}
上面没有判断此时对servlet的请求是post方法还是get方法,不过没关系。请求中传递的参数和信息都收录在内。您可以自行判断并进行相应的操作。
既然页面路径已经跳转到servlet了,但是servlet不是.html文件,浏览器是不是就没有内容可以显示了?不是,我们看到返回的参数response中输出的对象PrintWriter用于html内容的字符串“Hello”是动态生成的,所以此时相当于servlet的路径也有html内容,浏览器页面将显示上面的字符串
二、jsp页面如何与后端服务器交互:
jsp 网页文件是插入到 html 内容中的 java 代码。当我们访问.jsp网页文件时,服务器已经预先知道该页面收录java代码,所以服务器必须先执行这些代码(跟java源代码一样),同时嵌入当前.jsp页面中的执行结果,我们看一下源码:
//如果在这个.jsp页面中使用了一些java函数,则需要导入库,与java源文件相同
第一个 JSP 程序
<p>上面红色的代码是java代码。刚才说了,对象PrintWriter out是用来动态生成一串html内容的,所以服务端执行嵌入的java代码后,动态生成一串html代码,然后一起传输给客户端浏览器显示