Java第四次作业

This commit is contained in:
lotus 2024-11-26 15:35:29 +08:00
parent 2ab4c681af
commit 3c8db183a5
12 changed files with 328 additions and 34 deletions

View File

@ -0,0 +1,39 @@
package com.demo;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
@WebServlet("/excel.do")
public class ExcelServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 设置响应头告诉浏览器这是一个HTML页面
response.setContentType("text/html;charset=gb2312");
// 获取输出流
PrintWriter out = response.getWriter();
// 输出HTML内容
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>学生信息表</title>");
out.println("<style>");
out.println("table { border-collapse: collapse; width: 50%; }");
out.println("th, td { border: 1px solid black; padding: 8px; }");
out.println("</style>");
out.println("</head>");
out.println("<body>");
out.println("<h2>学生信息表</h2>");
out.println("<table>");
out.println("<tr><th>学号</th><th>姓名</th><th>性别</th><th>年龄</th><th>所在系</th></tr>");
out.println("<tr><td>95001</td><td>李勇</td><td>男</td><td>20</td><td>信息</td></tr>");
out.println("<tr><td>95002</td><td>刘晨</td><td>女</td><td>19</td><td>数学</td></tr>");
out.println("</table>");
out.println("</body>");
out.println("</html>");
}
}

View File

@ -0,0 +1,37 @@
package com.demo;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
@WebServlet("/GetCookie")
public class GetCookie extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><title>read cookies</title>");
out.println("<body><h2>Cookies received from browser:</h2>");
// 获取客户端发送的所有Cookie
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
out.println("Name: " + cookie.getName() + ", Value: " + cookie.getValue() + "<br>");
}
} else {
out.println("No cookies found.");
}
out.println("</body></html>");
}
}

View File

@ -0,0 +1,53 @@
package com.demo;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
@WebServlet("/GuessNumberServlet")
public class GuessNumberServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int magic = (int) (Math.random() * 101);
HttpSession session = request.getSession();
session.setAttribute("num", new Integer(magic));
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("我想出一个0到100之间的数请你猜");
out.println("<form action='/helloweb/GuessNumberServlet' method='post'>");
out.println("<input type='text' name='guess' />");
out.println("<input type='submit' value='确定'/>");
out.println("</form>");
out.println("</body></html>");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int guess = Integer.parseInt(request.getParameter("guess"));
HttpSession session = request.getSession();
int magic = (Integer) session.getAttribute("num");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html><body>");
if (guess == magic) {
session.invalidate(); // 销毁会话对象
out.println("祝贺你,答对了!");
out.println("<a href='/helloweb/GuessNumberServlet'>再猜一次.</a>");
} else if (guess > magic) {
out.println("太大了! 请重猜!");
} else {
out.println("太小了! 请重猜!");
}
out.println("<form action='/helloweb/GuessNumberServlet' method='post'>");
out.println("<input type='text' name='guess' />");
out.println("<input type='submit' value='确定'/>");
out.println("</form>");
out.println("</body></html>");
}
}

View File

@ -0,0 +1,33 @@
package com.demo;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
@WebServlet("/SendCookie")
public class SendCookie extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 创建一个Cookie对象
Cookie userCookie = new Cookie("user", "uid1234");
// 设置Cookie的有效期为7天
userCookie.setMaxAge(60 * 60 * 24 * 7);
// 将Cookie添加到响应中
response.addCookie(userCookie);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><title>add cookies</title>");
out.println("<body><h2>A cookie has been sent to browser</h2></body>");
out.println("</html>");
}
}

View File

@ -0,0 +1,45 @@
package com.demo;
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.util.Date;
@WebServlet("/showSession")
public class ShowSession extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
HttpSession session = request.getSession();
String heading = null;
Integer accessCount = (Integer) session.getAttribute("accessCount");
if (accessCount == null) {
accessCount = new Integer(0);
heading = "Welcome, Newcomer";
} else {
heading = "Welcome Back.";
accessCount = new Integer(accessCount.intValue() + 1);
}
session.setAttribute("accessCount", accessCount);
PrintWriter out = response.getWriter();
out.println("<html><head>");
out.println("<title>Session Tracking Example</title></head>");
out.println("<body><center>");
out.println("<h1>" + heading + "</h1>");
out.println("<h2>Information about your session.</h2>");
out.println("<table border='1'>");
out.println("<tr bgcolor=\"ffad00\"><th>Info Type<th>Value\n");
out.println("<tr><td>ID<td>" + session.getId() + "\n");
out.println("<tr><td>Creation Time:<td>");
out.println("" + new Date(session.getCreationTime()) + "\n");
out.println("<tr><td>Time of last access:<td>");
out.println("" + new Date(session.getLastAccessedTime()) + "\n");
out.println("<tr><td>Access number:<td>" + accessCount + "\n");
out.println("</table></center></body></html>");
}
}

View File

@ -1,21 +0,0 @@
package com.demo;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
@WebServlet("/ExcelServlet")
public class excel extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
response.setHeader("Content-Encoding","gb2312"); response.setContentType("application/vnd.ms-excel;charset=gb2312");
PrintWriter out = response.getWriter();
out.println("学号\t姓名\t性别\t年龄\t所在系");
out.println("95001\t李勇\t男\t20\t信息");
out.println("95002\t刘晨\t女\t19\t数学");
}
}

7
webapp/counter.jsp Normal file
View File

@ -0,0 +1,7 @@
<html><body>
<%@ page language="java" %>
<%! int count = 0; %>
<% count++; %>
Welcome! You are visitor number
<%= count %>
</body></html>

8
webapp/errorHandler.jsp Normal file
View File

@ -0,0 +1,8 @@
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page isErrorPage="true" %>
<html>
<body>
请求不能被处理:<%= exception.getMessage() %><br>
请重试!
</body>
</html>

27
webapp/expression.jsp Normal file
View File

@ -0,0 +1,27 @@
<html><body>
<%@ page language="java" %>
<%!
int anInt = 3;
boolean aBool = true;
Integer anIntObj = new Integer(3);
Float aFloatObj = new Float(8.6);
String str = "some string";
StringBuffer sBuff = new StringBuffer();
public char getChar(){
return 'A';
}
%>
<%= 500 %>
<%= anInt*3.5/100-500 %>
<%= aBool %>
<%= false %>
<%= !false %>
<%= getChar() %>
<%= Math.random() %>
<%= aFloatObj %>
<%= aFloatObj.floatValue() %>
<%= aFloatObj.toString() %>
<%= aBool %>
<% int i = 20; %>
<% sBuff.setLength(12); %>
</body></html>

View File

@ -1,16 +1,33 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%-- <%@ page language="java" contentType="text/html; charset=UTF-8" --%>
<%-- pageEncoding="UTF-8"%> --%>
<!-- <!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>A Simple JSP page</title> -->
<!-- </head> -->
<!-- <body> -->
<!-- <h3>Hello,World!</h3> -->
<!-- <font color="#0000ff"> -->
<%-- The time now is:<%=new java.util.Date()%> --%>
<!-- </font> -->
<!-- </body> -->
<!-- </html> -->
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page errorPage="errorHandler.jsp" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>A Simple JSP page</title>
</head>
<body>
<h3>Hello,World!</h3>
<font color="#0000ff">
The time now is:<%=new java.util.Date()%>
</font>
<%
String name = request.getParameter("name");
if (name == null) {
throw new RuntimeException("没有指定name 属性。");
} else {
// 将字符串name的字符编码转换为汉字编码
name = new String(name.getBytes("iso-8859-1"), "gb2312");
}
%>
Hello, <%= name %>
</body>
</html>
</html>

15
webapp/import_test.jsp Normal file
View File

@ -0,0 +1,15 @@
<%@ page import="java.util.Date,java.text.DateFormat" %>
<%@ page contentType="text/html;charset=gb2312" %>
<html>
<head><title>page指令示例</title></head>
<body>
<h3 align="center">使用page指令导入java.util.Date类</h3>
<%
Date date = new Date();
String s = DateFormat.getDateInstance().format(date);
String s2 = DateFormat.getDateInstance(DateFormat.FULL).format(date);
%>
<p align="center">现在的时间是:<%=s%></p>
<p align="center">现在的时间是:<%=s2%></p>
</body>
</html>

View File

@ -0,0 +1,34 @@
<%@ page language="java" import="java.io.*" %>
<%!
int count = 0;
String dbPath;
public void jspInit() {
try {
dbPath = getServletContext().getRealPath("/WEB-INF/counter.db");
FileInputStream fis = new FileInputStream(dbPath);
DataInputStream dis = new DataInputStream(fis);
count = dis.readInt();
dis.close();
} catch (Exception e) {
log("Error loading persistent counter", e);
}
}
public void jspDestroy() {
try {
FileOutputStream fos = new FileOutputStream(dbPath);
DataOutputStream dos = new DataOutputStream(fos);
dos.writeInt(count);
dos.close();
} catch (Exception e) {
log("Error storing persistent counter", e);
}
}
%>
<%-- 下面是向浏览器输出的主要内容它将成为产生的_jspService()方法的一部分 --%>
<html><body>
<% count++; %>
Welcome! You are <%= count %> th visitor(s).
</body></html>