IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Jsp+Servlet实现简单网上测试小程序 -> 正文阅读

[移动开发]Jsp+Servlet实现简单网上测试小程序

Jsp+Servlet实现简单网上测试小程序

要求:写一个网上测试小程序,包含填空题、多选题、单选题和判断题,最后进行评分。

jsp

设计一个表单,里面包含两道填空题、两道单选题、一道判断题、一道多选题及一个提交按钮。表单采用POST提交方法,将数据提交到test2中进行运算,得出得分。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>基础知识在线测试</title>
<link rel="stylesheet" href="<%=request.getContextPath() %>/css/test2.css">
</head>
<body>
	<div id="main">
		<div id="title" style="margin:20px 200px;">
			<h2>在线测试</h2>
		</div>
		<form action="test2" method="post">
			<div class="test">
				<label>1、面向对象语言的三大特性有多态、继承和</label>
				<input type="text" value="" name="t1" class="input-text">10分)
			</div>
			<div class="test">
				<label>2、Java中修饰类或者属性为抽象的关键字是</label>
				<input type="text" value="" name="t2" class="input-text">10分)
			</div>
			<div class="test">
				<label>3、Java属于下列哪种语言?(20分)</label><br>
				<input type="radio" value="A" name="t3">汇编语言
				<input type="radio" value="B" name="t3">机器语言
				<input type="radio" value="C" name="t3">高级语言
				<input type="radio" value="D" name="t3">自然语言
			</div>
			<div class="test">
				<label>4、下列哪个是HTML中的行内元素?(20分)</label><br>
				<input type="radio" value="A" name="t4">form
				<input type="radio" value="B" name="t4">p
				<input type="radio" value="C" name="t4">audio
				<input type="radio" value="D" name="t4">button
			</div>
			<div class="test">
				<label>5、一个负数的补码还是它本身。(10分)</label><br>
				<input type="radio" value="true" name="t5"><input type="radio" value="false" name="t5"></div>
			<div class="test">
				<label>6、下列哪些属于面向对象的程序语言?(30分)</label><br>
				<input type="checkbox" value="A" name="t6">C
				<input type="checkbox" value="B" name="t6">Java
				<input type="checkbox" value="C" name="t6">C++
				<input type="checkbox" value="D" name="t6">C#
			</div>
			<div class="test" style="margin:20px 200px;">
				<input type="submit" name="submit" value="提交" class="submit">
			</div>
		</form>
	</div>
</body>
</html>

servlet

编写一个计算得分的servlet。获取表单提交的数据,计算出结果并输出到页面。

package com.bnuz;

import java.io.IOException;
import java.io.PrintWriter;

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

/**
 * Servlet implementation class Test2
 */
@WebServlet("/Test2")
public class Test2 extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public Test2() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 防止中文乱码
		response.setContentType("text/html;charset=utf-8");
		request.setCharacterEncoding("UTF-8");

		int total_score = 0;// 总分

		String[] answer = { "封装", "abstract", "C", "D", "false" };// 1-5题答案
		int[] score = { 10, 10, 20, 20, 10 };// 1-5题分值
		// 计算第1-5题得分
		for (int i = 1; i <= answer.length; i++) {
			String t = request.getParameter("t" + i);
			if (answer[i - 1].equals(t)) {
				total_score += score[i - 1];
			}
		}
		// 计算第6题得分
		String[] t6 = request.getParameterValues("t6");
		if (t6.length == 3) {
			if ("B".equals(t6[0]) && "C".equals(t6[1]) && "D".equals(t6[2])) {
				total_score += 30;
			}
		}

		PrintWriter out = response.getWriter();
		out.print("您本次的得分为:" + total_score);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
  <display-name>Demo2</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
  	<servlet-name>Test2</servlet-name>
  	<servlet-class>com.bnuz.Test2</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>Test2</servlet-name>
  	<url-pattern>/test2</url-pattern>
  </servlet-mapping>
</web-app>

css

#main{
	width:580px;
	margin:0 auto;
	height:600px;
}

.test{
	margin-top:15px;
}

.input-text{
	border:0;
	border-bottom:1px solid black;
	width:70px;
}

.submit{
	width:100px;
	height:35px;
	background-color: rgb(145, 233, 255);
}

运行结果

在这里插入图片描述
━━( ̄ー ̄*|||━━菜鸟一枚,如有问题,欢迎指出。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-17 12:06:28  更:2021-10-17 12:08:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:01:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码