Jsp页面请求-Servlet返回结果

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pengshengli/article/details/84137402

jsp页面通过表单的方式提交请求,并传进后台参数,servlet接收请求再返回页面显示。

1.jsp页面代码:

<%@ page language="java" contentType="text/html; charset=utf-8"  pageEncoding="utf-8" import="com.service.entity.*,java.util.*"%>  
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>学生信息</title>
</head>
<body>
<style type="text/css">
table.dataintable {
	margin-top:15px;
	border-collapse:collapse;
	border:1px solid #aaa;
	width:100%;
	}

table.dataintable th {
	vertical-align:baseline;
	padding:5px 15px 5px 6px;
	background-color:#3F3F3F;
	border:1px solid #3F3F3F;
	text-align:left;
	color:#fff;
	}

table.dataintable td {
	vertical-align:text-top;
	padding:6px 15px 6px 6px;
	border:1px solid #aaa;
	}

table.dataintable tr:nth-child(odd) {
	background-color:#F5F5F5;
}

table.dataintable tr:nth-child(even) {
	background-color:#fff;
}
</style>
<form action ="StudentServlet" method="get">
输入姓名:<input type="text" name="name"/>
<input type="submit" value="查询" />
</form>
&nbsp;
&nbsp;</div>
<table class="dataintable">
<tr>
  <th>姓名</th>
  <th>语文</th>
  <th>数学</th>
  <th>英语</th>
</tr>

<c:forEach items="${list}" var="stu">  
    <tr>  
        <td><b>${stu.getName()}</b></td>  	
		<td>${stu.getChinese()}</td>  
        <td>${stu.getMath()}</td>   
    	<td>${stu.getEnglish()}</td>  
    </tr>  
</c:forEach> 
</body>
</html>

首先编码都是utf-8,所以开头需要修改:

<%@ page language="java" contentType="text/html; charset=utf-8"  pageEncoding="utf-8" import="com.service.entity.*,java.util.*"%>  

import="com.service.entity.*,java.util.*是引入了Java包,来访问对象的成员变量。

<c:forEach items="${list}" var="stu">  
    <tr>  
        <td><b>${stu.getName()}</b></td>      
        <td>${stu.getChinese()}</td>  
        <td>${stu.getMath()}</td>   
        <td>${stu.getEnglish()}</td>  
    </tr>  
</c:forEach> 
然后jsp引入了c:forEach,所以需要加:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  

加了之后需要引入两个jar包,可以去下载jstl.jar+standard.jar两个包

2.Java Servlet代码

package com.service.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.annotation.WebServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.service.StudentService;
@WebServlet("/StudentServlet")
public class StudentServlet extends HttpServlet{
	 private static final long serialVersionUID = 1L;  
	    
	    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
	        // TODO Auto-generated method stub 
	    	// 处理响应数据的格式和编码,通知浏览器数据的显示方式
	     response.setCharacterEncoding("utf-8");
	     response.setContentType("text/html;charset=utf-8");
	     PrintWriter pw = response.getWriter();  
         pw.println("doGet!"); 
         System.out.println ("doGet1");  
         String Name=request.getParameter("name");   
         StudentService ws = new StudentService();
	     List list =  ws.GetStudentInfo(Name); 
	     request.setAttribute("list",list);  
	     request.getRequestDispatcher("/student.jsp").forward(request, response);  
	    }  

	    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
	        // TODO Auto-generated method stub  
	    }  


}

首先@WebServlet("/StudentServlet")是web.xml配置的servlet名

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <servlet>
        <servlet-name>StudentServlet</servlet-name>
        <servlet-class>com.service.servlet.StudentServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>StudentServlet</servlet-name>
        <url-pattern>/service</url-pattern>
    </servlet-mapping>
</web-app>

和jsp文件里:

这三个地方的这个名字是一一对应的,不能写错。

还有就是,传进来的参数:

这就整个请求->接收请求->处理请求->返回的过程。

最后结果展示:

猜你喜欢

转载自blog.csdn.net/pengshengli/article/details/84137402