jsp相对路径及servlet请求

本文详细介绍了如何通过Web技术实现用户输入查询、后台处理数据并返回结果的过程,包括表单请求、Servlet处理逻辑、数据获取及页面跳转。通过示例展示了从表单接收数据、调用业务逻辑层进行查询操作,并将结果定向到指定页面展示的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件结构如下:


在b.jsp下的链接写法如下

<a href="../a.jsp">a.jsp</a>
<a href="c/c.jsp">c.jsp</a>
<a href="../d/d.jsp">d.jsp</a>
<a href="../../e/e.jsp">e.jsp</a>

表单请求:

在index.jsp下加入

  <form action="servlet/TestServlet" method="post">
    <input type="text" name="username">
    <input type="submit" value="查询">
  </form>

在c.jsp下加入

<%
  List list=(List)request.getAttribute("userlist");
  out.println(list);
 %>


在src->com.lujianfei.test下的TestServlet.java

package com.lujianfei.test;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestServlet extends HttpServlet {

	@Override
	protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
		// 获得表单数据
		String username = req.getParameter("username");
		UserManager userManager = new UserManager();
		List userList = userManager.findUserByName(username);
		req.setAttribute("userlist", userList);
		//转向到c.jsp取出list中的数据
		req.getRequestDispatcher("/a/b/c/c.jsp").forward(req, res);
	}

}

在src->com.lujianfei.test下的UserManager.java

package com.lujianfei.test;

import java.util.ArrayList;
import java.util.List;
public class UserManager {
   public List findUserByName(String name){
	   List userList=new ArrayList();
	   userList.add("数据一");
	   userList.add("数据二");
	   return userList;
   }
}

在WebRoot->WEB-INF->web.xml下加入

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
 <!-- 在下面加入 -->
 <servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>com.lujianfei.test.TestServlet</servlet-class>
  </servlet>
  <servlet-mapping>
	  <servlet-name>TestServlet</servlet-name>
	  <url-pattern>/servlet/TestServlet</url-pattern>
  </servlet-mapping>
</web-app>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值