本次不连接数据库,姓名与学号是随便输入,成绩是一个随机数
本次程序我没有写css,所有网页内容是及其简陋的
首先是写一个Html网页内容
<!DOCTYPE html>
<html>
<head>
<title>四级登录查询</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>
<h1>四级程序查询</h1>
<hr><br>
<!--如果想要将元素上交到服务器,则需要将元素放到表单中-->
<!--action属性指定了表单属性提交给服务器端的哪个组件-->
<!--此处是将表单中的内容提交给访问路径为 x 的Servlet处理-->
<form action="x">
<!--name是为了区别获取提交的请求参数-->
姓名: <input type="text" name="name">
学号: <input type="text" name="id">
<!--表单中的内容需要用submit按钮提交到服务器-->
<input type="submit" nalue="查询">
</form>
</div>
</body>
</html>
写完HTML内容后我们就要写Java程序了
package com.hehe
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;
import.javax.servlet.ServletException;
import.javax.servlet.ServletRequest;
import.javax.servlet.ServerResponse;
//通过实现Servlet接口创建一个Servlet类
public class Test implements Servlet {
@Override
public void init (ServletConfig getServletConfig()) throws ServletException (){
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service ( ServletRequest req, ServletRespose res) {
//service中编写用于处理四级成绩查询的代码
//第一个参数是一个请求对象 包含了请求的所有信息,比如请求参数
//第二个参数是一个回应对象,包含了回应的所有信息,比如给到客户端的响应内容
//service由服务器帮忙调用,两个参数也会自动传入
//1、获取请求参数
//通过请求对象调用getParameter()函数,可根据请求参数名称获取参数值
String sId = req.getParameter("id");//获取了名为id的参数值并将数值存储在sId中
String sName=req.getParameter("name");
//2、业务逻辑层,完成处理请求
//Random类公开了一些方法,用于获取随机数
//Random类中的方法基本都是非静态,所以需要创建对象后调用
Random ran = new Random();
int c = ran.nextInt(711);//nextInt()方法可以随机生成从0到指定数字的随机数,但是不包含该数字
//3、生成相应内容
//获取输出响应内容的打印器对象,用一个PrintWriter类型的变量接受/引用
//响应对象的 setCountentType方法用于设置响应的内容的类型和字符集编码
res.setContentType("text/html;charset=utf-8");
//响应对象的getWriter()方法用于获取一个到客户端的打印机
PrintWriter out=res.getWrier();
//输出响应内容到客户端,可以直接输出HTML内容
out.println("<h1>查询结果</h1><hr>");
out.println("<br>姓名: "+sName);
out.println("<br>学号: "+sId);
out.println("<br>成绩: "+c);
}
@Override
public String getServletInfo(){
return null;
}
@Override
public void destroy(){
}
}
做完上述工作后就还差最后一步,这时候我们需要在Web下的web-info中创建一个标准部署描述符web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<servlet>
<description>这是一个用于四级查询的servlet</description>
<servlet-name>Hehe</servlet-name>
<servlet-class>com.hehe.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hehe</servlet-name>
<url-pattern>/x</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
然后就大功告成了!