前端排版很丑,请见谅,主要是来实现功能的,如有问题,还请赐教。
首先我们需要准备两个html的页面文件
其中显示的内容是
index.html:
findone.html中内容是:
而我们需要的内容是从主页面跳转到查询页面,点击查询按钮即可完成页面的跳转。
点击返回键返回主界面
这里我们需要两个servlet类来完成相应的操作
分别为查询类:
package Servlet;
import Dao.MakerMemberImpl.MakerImpl;
import Dao.Makerservier;
import MakerMember.Maker;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class Servletfind extends ViewBaseServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int flag=0;
request.setCharacterEncoding("UTF-8");
String idfirst = request.getParameter("id");
int id=101;
try {
id = Integer.parseInt(idfirst);
} catch (Exception e){
flag=1;
}
if(flag!=1)
try {
Makerservier makerservier= null;
try {
makerservier = new MakerImpl();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Maker maker= makerservier.findmaker(id);
List<Maker> makerList=new ArrayList<Maker>();
makerList.add(maker);
HttpSession session=request.getSession();
session.setAttribute("makerList",makerList);
super.processTemplate("findone",request,response);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
else{
response.sendRedirect("index");
}
}
}
以及返回类:
package Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class Servletreturn extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.sendRedirect("index");//重定向
}
}
而我其中的web.xml的文档是:
<servlet>
<servlet-name>Servlet6</servlet-name>
<servlet-class>Servlet.Servletfind</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet6</servlet-name>
<url-pattern> /findone</url-pattern><!--这里应该填的是form表单发过来的请求的action的名称-->
</servlet-mapping>
<servlet>
<servlet-name>Servlet7</servlet-name>
<servlet-class>Servlet.Servletreturn</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet7</servlet-name>
<url-pattern> /return</url-pattern><!--这里应该填的是form表单发过来的请求的action的名称-->
</servlet-mapping>
而我前端的html的内容是:
主界面:
<div id="div_find">
<form action="find" method="post">
<h class="b4">查询成员信息</h><br/>
查询的Id: <input type="text" name="id"/><br/>
<input class="a2" type="submit" value="查 询"/>
</form>
</div>
查询结果界面的:
<form id="form_find" action="return" method="post">
<input type="submit" value="返回" class="a2">
</form>
这样就可以完成两个界面的跳转,运用到的是重定向的原理,一个web资源收到客户端A请求后,B会通知A客户端去访问另外一个web资源C,这个过程就叫做重定向。