diff --git a/java/com/demo/ExcelServlet.java b/java/com/demo/ExcelServlet.java
new file mode 100644
index 0000000..a6a7a1a
--- /dev/null
+++ b/java/com/demo/ExcelServlet.java
@@ -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("");
+ out.println("");
+ out.println("
");
+ out.println("学生信息表");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("学生信息表
");
+ out.println("");
+ out.println("| 学号 | 姓名 | 性别 | 年龄 | 所在系 |
");
+ out.println("| 95001 | 李勇 | 男 | 20 | 信息 |
");
+ out.println("| 95002 | 刘晨 | 女 | 19 | 数学 |
");
+ out.println("
");
+ out.println("");
+ out.println("");
+ }
+}
\ No newline at end of file
diff --git a/java/com/demo/GetCookie.java b/java/com/demo/GetCookie.java
new file mode 100644
index 0000000..41d14b7
--- /dev/null
+++ b/java/com/demo/GetCookie.java
@@ -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("read cookies");
+ out.println("Cookies received from browser:
");
+
+ // 获取客户端发送的所有Cookie
+ Cookie[] cookies = request.getCookies();
+ if (cookies != null) {
+ for (Cookie cookie : cookies) {
+ out.println("Name: " + cookie.getName() + ", Value: " + cookie.getValue() + "
");
+ }
+ } else {
+ out.println("No cookies found.");
+ }
+
+ out.println("");
+ }
+}
\ No newline at end of file
diff --git a/java/com/demo/GuessNumberServlet.java b/java/com/demo/GuessNumberServlet.java
new file mode 100644
index 0000000..f63ab28
--- /dev/null
+++ b/java/com/demo/GuessNumberServlet.java
@@ -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("");
+ out.println("我想出一个0到100之间的数,请你猜!");
+ out.println("");
+ out.println("");
+ }
+
+ @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("");
+ if (guess == magic) {
+ session.invalidate(); // 销毁会话对象
+ out.println("祝贺你,答对了!");
+ out.println("再猜一次.");
+ } else if (guess > magic) {
+ out.println("太大了! 请重猜!");
+ } else {
+ out.println("太小了! 请重猜!");
+ }
+ out.println("");
+ out.println("");
+ }
+}
\ No newline at end of file
diff --git a/java/com/demo/SendCookie.java b/java/com/demo/SendCookie.java
new file mode 100644
index 0000000..c8bcd25
--- /dev/null
+++ b/java/com/demo/SendCookie.java
@@ -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("add cookies");
+ out.println("A cookie has been sent to browser
");
+ out.println("");
+ }
+}
\ No newline at end of file
diff --git a/java/com/demo/ShowSession.java b/java/com/demo/ShowSession.java
new file mode 100644
index 0000000..ea13b3b
--- /dev/null
+++ b/java/com/demo/ShowSession.java
@@ -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("");
+ out.println("Session Tracking Example");
+ out.println("");
+ out.println("" + heading + "
");
+ out.println("Information about your session.
");
+ out.println("");
+ out.println("| Info Type | Value\n");
+ out.println(" |
|---|
| ID | " + session.getId() + "\n");
+ out.println(" |
| Creation Time: | ");
+ out.println("" + new Date(session.getCreationTime()) + "\n");
+ out.println(" |
| Time of last access: | ");
+ out.println("" + new Date(session.getLastAccessedTime()) + "\n");
+ out.println(" |
| Access number: | " + accessCount + "\n");
+ out.println(" |
");
+ }
+}
\ No newline at end of file
diff --git a/java/com/demo/excel.java b/java/com/demo/excel.java
deleted file mode 100644
index 4237ea2..0000000
--- a/java/com/demo/excel.java
+++ /dev/null
@@ -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数学");
- }
-}
diff --git a/webapp/counter.jsp b/webapp/counter.jsp
new file mode 100644
index 0000000..54e6ccf
--- /dev/null
+++ b/webapp/counter.jsp
@@ -0,0 +1,7 @@
+
+<%@ page language="java" %>
+<%! int count = 0; %>
+<% count++; %>
+Welcome! You are visitor number
+<%= count %>
+
diff --git a/webapp/errorHandler.jsp b/webapp/errorHandler.jsp
new file mode 100644
index 0000000..b987605
--- /dev/null
+++ b/webapp/errorHandler.jsp
@@ -0,0 +1,8 @@
+<%@ page contentType="text/html; charset=gb2312" %>
+<%@ page isErrorPage="true" %>
+
+
+ܱ<%= exception.getMessage() %>
+ԣ
+
+
\ No newline at end of file
diff --git a/webapp/expression.jsp b/webapp/expression.jsp
new file mode 100644
index 0000000..014c71b
--- /dev/null
+++ b/webapp/expression.jsp
@@ -0,0 +1,27 @@
+
+<%@ 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); %>
+
\ No newline at end of file
diff --git a/webapp/hello.jsp b/webapp/hello.jsp
index b7524f9..e98372e 100644
--- a/webapp/hello.jsp
+++ b/webapp/hello.jsp
@@ -1,16 +1,33 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
-
+<%-- <%@ page language="java" contentType="text/html; charset=UTF-8" --%>
+<%-- pageEncoding="UTF-8"%> --%>
+
+
+
+
+
+
+
+
+
+
+<%-- The time now is:<%=new java.util.Date()%> --%>
+
+
+
+
+<%@ page contentType="text/html;charset=gb2312" %>
+<%@ page errorPage="errorHandler.jsp" %>
-
-
-A Simple JSP page
-
- Hello,World!
-
- The time now is:<%=new java.util.Date()%>
-
+<%
+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 %>
-
+