栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java servlet简单使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java servlet简单使用

开发一个简单的考试系统,在HTML页面中建立一个表单,通过POST方法传递参数,题目类型包括单选题、多选题和填空题,要求程序给出考试成绩。页面参考如图1,请在下方贴上question.html的源码及其运行效果。

图1 运行效果

源码:



  
    question.html
    
  
  
  
 	请回答下面问题: 
 	
1.Windows操作系统是那家公司产品? apple公司 IBM公司 Microsoft公司
2.下列设计语言,那些事面向对象的? java语言 c语言 c++语言
3.编写Servlet程序应该继承那个类?
4.下图是那种编程语言的图标? c++ python java

java servlet简单使用
交卷请单击 重新交卷请单击

2)在src目录中创建com.demo包,然后创建ExamServlet.java文件。当在question.html页面中单击“交卷”按钮时,根据用户答案,给出最终成绩。结果如图2所示。请在下方贴出ExamServlet.java代码。

图2 运行效果

代码:

package com.demo;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

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

@WebServlet(urlPatterns = "/quetionForm")
public class ExamServlet extends HttpServlet{
	

	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		super.doPost(req, resp);
	}

	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		resp.setContentType("text/html;charset=UTF-8");
		PrintWriter out = resp.getWriter();
		String cooperation = req.getParameter("cooperation");
//		out.println("1 "+cooperation);
 		String language1 = req.getParameter("language1");
 		String language2 = req.getParameter("language2");
 		String language3 = req.getParameter("language3");
//		out.println(" 2 "+language1);
 		String impClass = req.getParameter("impClass");
//		out.println(" 3 "+impClass);
 		String languagelogo = req.getParameter("languagelogo");
//		out.println("4 "+languagelogo);
		
		
 	    int sum = 0;
 	    try {
			if(cooperation.equals("Microsoft"))
	 			sum += 25;
	 		if(language1.equals("java") && language3.equals("c++") ){
	 			sum += 25;
	 			if(language2 != null)
	 				sum -= 25;
	 		}
	 		if(impClass.equals("HttpServlet"))
	 			sum += 25;
	 		if(languagelogo.equals("java"))
	 			sum += 25;
 	    	} catch (Exception e) {
				out.print("请选择正确的答案");
		}
 			
// 		out.println("cooperation ==> "+cooperation +"n"+
// 				"language ==> "+ language  + "n"+
// 				"impClass ==> "+ impClass +  "n"+
// 				"languagelogo ==> "+ languagelogo + "n"
// 				+ "sum = "+sum);
		
		
		out.println("");
		out.println("");
		out.println("  result");
		out.println("  ");
		out.print("     ");
		out.println("result == " +sum);
		out.println("  ");
		out.println("");
		out.flush();
		out.close();
		
	}
}

任务2 学习请求转发与请求作用域
完成下面的综合应用。程序运行首先显示一个页面,输入学号和姓名后,单击“登录”按钮,控制转发到FirstServlet,在其中检索出学号和姓名信息,创建一个Student对象并将它存储到请求作用域中,将控制转发到SecondServlet,在其中从请求作用域检索出Student对象并显示学号和姓名,同时显示一个链接。参考效果如图3.

图3 运行效果

源码:

FirstServlet
package com.demo;

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

import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonObject;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/login")
public class FirstServlet extends HttpServlet {


	private static final long serialVersionUID = 1L;
	

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
		String id = request.getParameter("id");
		String name = request.getParameter("name");	
		request.setAttribute("stu",new Student(id, name));
		System.out.println("成功 == "+ id +"  ==  "+name);    
	    request.getRequestDispatcher("/SecondServlet.do").forward(request, response);
		out.flush();
		out.close();
	}

}
SecondServlet
package com.demo;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.regex.Pattern;

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

@WebServlet("/getMethod")
public class SecondServlet extends HttpServlet {

	

	private static final long serialVersionUID = 1L;

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		
		Student stu  = (Student) request.getAttribute("stu");
		String id = stu.getId();
		String name = stu.getName();
		out.println("");
		out.println("");
		out.println("  result");
		out.println("  ");
		out.print(" 学号: "+id + "
"); out.print(" 姓名: "+name + "
"); out.print("返回输入首页 "); out.println(" "); out.println(""); out.flush(); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
login.jsp



  
    
    
    ForwordJsp.jsp
	
  
  
  
    this is students form: 
学号:

姓名:

        
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/318772.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号