目錄
- 1、表單提交+中文字符轉碼
- 2、Cookie+Session
- 3、訪問計數(Application)
- 4、frameset框架
- 5、時鐘
- 6、郵箱
- 7、新聞發布
- 8、用戶登錄
- 9、作文(EL)
- 10、jstl標簽庫
- 11、計數過濾器
- 12、servlet
- 13、MySQL
- 原始碼鏈接
模板:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p></p>
</body>
</html>
1、表單提交+中文字符轉碼
關鍵代碼:
- 獲取屬性值
request.getParameter("---") - 中文字符轉碼
new String(request.getParameter("---").getBytes("ISO8859_1"), "UTF-8")
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="show.jsp" method="post">
<p><span>請輸入姓名:</span><input type="text" name="name"/></p>
<p>
<span>性別:</span>
<input type="radio" name="sex" value="男"/>
<input type="radio" name="sex" value="女"/>
</p>
<p>
<span>密碼提示問題:</span>
<select name="question">
<option value="mother">母親生日</option>
<option value="father">父親生日</option>
</select>
</p>
<p>
<span>答案:</span>
<input type="text" name="answer">
</p>
<p>
<span>選擇個人喜好:</span>
<input type="checkbox" name="like" value="愛好1"><span>愛好1</span>
<input type="checkbox" name="like" value="愛好2"><span>愛好2</span>
<input type="checkbox" name="like" value="愛好3"><span>愛好3</span>
</p>
<input type="submit" value="提交"/>
</form>
</body>
</html>
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String name = new String(request.getParameter("name").getBytes("ISO8859_1"), "UTF-8");
String sex = new String(request.getParameter("sex").getBytes("ISO8859_1"), "UTF-8");
String question = new String(request.getParameter("question").getBytes("ISO8859_1"), "UTF-8");
String answer = new String(request.getParameter("answer").getBytes("ISO8859_1"), "UTF-8");
String[] like = request.getParameterValues("like");
%>
<p><span>姓名:</span><%=name %></p>
<p><span>性別:</span><%=sex %></p>
<p><span>問題:</span><%=question %></p>
<p><span>答案:</span><%=answer %></p>
<p>
<span>喜好:</span>
<%
for (int i = 0; i < like.length; ++i){
%><%=new String(like[i].getBytes("ISO8859_1"), "UTF-8") %><%
}
%>
</p>
</body>
</html>
2、Cookie+Session
關鍵代碼:
-
中文寫入Cookie要轉碼
<%@ page import="java.net.URLEncoder"%>
<%@ page import="java.net.URLDecoder"%>
URLDecoder.decode(---, "UTF-8")解碼
URLEncoder.encode(---, "UTF-8")編碼 -
獲取Cookie
Cookie[] cookies = request.getCookies() -
根據條件獲取Cookie
cookies[i].getName().endsWith("---") -
獲得Cookie值
cookies[i].getValue() -
創建Cookie
response.addCookie(---) -
自動重定向至頁面
response.setHeader("refresh", "2;URL=client.jsp") -
session方法
session.setAttribute("message", sessionMessage)set會話的屬性值
session.getAttribute("message")get會話的屬性值
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.net.URLEncoder"%>
<%@ page import="java.net.URLDecoder"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String welcome = "第一次訪問";
String[] info = {"", "", ""};
Cookie[] cookies = request.getCookies();
if (cookies != null){
for (int i = 0; i < cookies.length; ++i){
if (cookies[i].getName().endsWith("gjlCookInfo")){
info = cookies[i].getValue().split("#");
for (int j = 0; j < info.length; ++j){
info[j] = URLDecoder.decode(info[j], "UTF-8");
}
welcome = "歡迎回來!";
}
}
}
String sessionMessage = "session練習";
session.setAttribute("message", sessionMessage);
%>
<%=info[0] + ", " + welcome %>
<form action="show.jsp" method="post">
<p><span>姓名:</span><input type="text" name="name" value="<%=info[0] %>"/></p>
<p><span>生日:</span><input type="text" name="birthday" value="<%=info[1] %>"/></p>
<p><span>郵箱:</span><input type="text" name="email" value="<%=info[2] %>"/></p>
<input type="submit" value="提交"/>
</form>
</body>
</html>
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.net.URLEncoder"%>
<%@ page import="java.net.URLDecoder"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String name = new String(request.getParameter("name").getBytes("ISO8859_1"), "UTF-8");
String birthday = new String(request.getParameter("birthday").getBytes("ISO8859_1"), "UTF-8");
String email = new String(request.getParameter("email").getBytes("ISO8859_1"), "UTF-8");
Cookie myCookie = new Cookie("gjlCookInfo", URLEncoder.encode(name, "UTF-8") + "#" + URLEncoder.encode(birthday, "UTF-8") + "#" + URLEncoder.encode(email, "UTF-8"));
response.addCookie(myCookie);
response.setHeader("refresh", "2;URL=client.jsp");
String message = (String)session.getAttribute("message");
out.println(message);
%>
<ul>
<li><span>姓名:</span><%=name %>
<li><span>姓名:</span><%=birthday %>
<li><span>姓名:</span><%=email %>
<li><a href="index.jsp">回傳</a>
</ul>
</body>
</html>
client.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
response.setHeader("refresh", "5;URL=index.jsp");
%>
<ul>
<li>客戶端使用協議:<%=request.getProtocol() %></li>
<li>客戶端發送請求的方法:<%=request.getMethod() %></li>
<li>客戶端的請求路徑:<%=request.getContextPath() %></li>
<li>客戶端的IP地址:<%=request.getRemoteAddr() %></li>
<li>客戶端主機的名稱:<%=request.getRemoteHost() %></li>
<li>客戶端埠號:<%=request.getRemotePort() %></li>
<li>接收客戶資訊的頁面:<%=request.getServletPath() %></li>
</ul>
</body>
</html>
3、訪問計數(Application)
關鍵代碼:
-
獲取、更新application變數值
application.getAttribute("visitCount")獲取application變數
application.getInitParameter("visitCount")從組態檔(web.xml)獲取application變數初始化值
application.setAttribute("visitCount", temp)更改application變數值 -
初始化application變數(web.xml)
<context-param>
<param-name>visitCount</param-name>
<param-value>1000</param-value>
</context-param>
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Integer count = (Integer)application.getAttribute("visitCount");
int countInit = Integer.parseInt(application.getInitParameter("visitCount"));
int temp = count == null ? countInit : countInit > count ? countInit : count;
%>
<p>訪問計數: <%=temp %><%=new Date() %></p>
<%
temp++;
application.setAttribute("visitCount", temp);
%>
</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Qimo</display-name>
<context-param>
<param-name>visitCount</param-name>
<param-value>1000</param-value>
</context-param>
<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>
</web-app>
4、frameset框架
關鍵代碼:
- frameset框架,將頁面分為上下部分
<frameset rows="30%,70%">
<frame src=top.jsp>
<frame src=page_1_body.jsp>
</frameset>
top.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.net.URLDecoder"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String name = request.getParameter("name");
if (name != null){
name = new String(name.getBytes("ISO8859-1"), "UTF-8");
session.setAttribute("name", name);
}
name = (String)session.getAttribute("name");
String info = "Hello, " + name + ", today is 2020/10/21";
if (name == null){
%>
<form action="in.jsp" method="post">
Name:<input type="text" name="name"><br>
Password:<input type="password" name="password"><br>
<input type="submit" value="提交"/>
</form><%
} else { %>
<marquee>
<%=info %>
</marquee>
<form action="out.jsp" method="post">
<input type="submit" value="退出"/>
</form><%
} %>
</body>
</html>
in.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.Date"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String name = request.getParameter("name");
name = new String(name.getBytes("ISO8859-1"), "UTF-8");
String date = "2020/10/21";
session.setAttribute("name", name);
%>
<marquee>
Hello, <%=name %>. 今天是<%=date %>
</marquee>
<a href=top.jsp>回傳</a>
</body>
</html>
out.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
session.removeAttribute("name");
session.invalidate();
response.setHeader("refresh", "1;top.jsp");
%>
<a href=top.jsp>1s后回傳</a>
</body>
</html>
page_1.jsp
<frameset rows="30%,70%">
<frame src=top.jsp>
<frame src=page_1_body.jsp>
</frameset>
page_1_body.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>page_1</p>
<a href="javascript:window.top.location.href='page_2.jsp'">Go to page_2</a>
</body>
</html>
page_2.jsp
<frameset rows="30%,70%">
<frame src=top.jsp>
<frame src=page_2_body.jsp>
</frameset>
page_2_body.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>page_2</p>
<input type="button" value="Go to page_1" onclick="window.top.location='page_1.jsp'">
</body>
</html>
5、時鐘
關鍵代碼:
-
頁面每秒自動重繪
<meta http-equiv="Refresh" content="1"> -
jsp呼叫類物件
<jsp:useBean id="date" class="clock.Clock"></jsp:useBean> -
jsp呼叫類變數
<jsp:getProperty property="dateTime" name="date"/>name欄位值為類實體的id
<jsp:getProperty property="week" name="date"/>name欄位值為類實體的id
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Refresh" content="1">
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
#clock{
width: 420px;
height: 80px;
background: #E0E0E0;
font-size: 25px;
font-weight: bold;
border: solid 5px orange;
padding: 20px;
}
#week{
padding-top: 15px;
color: #0080FF;
}
</style>
</head>
<body>
<jsp:useBean id="date" class="clock.Clock"></jsp:useBean>
<div align="center">
<div id="clock">
<jsp:getProperty property="dateTime" name="date"/>
</div>
<div id="week">
<jsp:getProperty property="week" name="date"/>
</div>
</div>
</body>
</html>
Clock.java
package clock;
import java.text.SimpleDateFormat;
import java.util.*;
public class Clock {
private String week;
private String dateTime;
public String getDateTime() {
Date currDate = Calendar.getInstance().getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH點mm分ss秒");
return sdf.format(currDate);
}
public String getWeek() {
String[] weeks = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
int index = Calendar.getInstance().get(Calendar.DAY_OF_WEEK);
week = weeks[index-1];
return week;
}
}
6、郵箱
關鍵代碼:
- import類
<%@ page import="email.Email"%>
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
out.println("20電子資訊<br>");
%>
<form action="check.jsp" method="post">
<span>用戶郵箱:</span><input type=text name=Email>
<input type=submit>
</form>
</body>
</html>
check.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="email.Email"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String emContent = request.getParameter("Email");
Email em = new Email(emContent);
if (em.isEmail())
out.print("合法郵箱");
else
out.print("非法郵箱");
%>
<a href="index.jsp">回傳</a>
</body>
</html>
Email.java
package email;
public class Email {
public String email;
public Email(String emStr) {
email = emStr;
}
public boolean isEmail() {
return email.contains("@");
}
}
7、新聞發布
關鍵代碼:
- 變數get、set訪問器
<jsp:useBean id="aNews" class="news.News"></jsp:useBean>呼叫類物件
<jsp:setProperty property="*" name="aNews"/>所有變數set初始化
<h1>標題:<%=EncStr.getStr(aNews.getTitle()) %></h1>變數get值
<h4>內容:<%=EncStr.getStr(aNews.getContent()) %></h4>變數get值
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="show.jsp" method="post">
<table>
<tr><td><b>新聞發布</b></td></tr>
<tr>
<td>標題</td>
<td><input type="text" name="title"></td>
</tr>
<tr>
<td>內容</td>
<td><input type="text" name="content"></td>
</tr>
<tr><td><input type="submit" value="提交"></td></tr>
</table>
</form>
</body>
</html>
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="news.EncStr"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="aNews" class="news.News"></jsp:useBean>
<jsp:setProperty property="*" name="aNews"/>
<h1>標題:<%=EncStr.getStr(aNews.getTitle()) %></h1>
<h4>內容:<%=EncStr.getStr(aNews.getContent()) %></h4>
</body>
</html>
EncStr.java
package news;
import java.io.UnsupportedEncodingException;
public class EncStr {
public static String getStr(String str) {
String nStr = null;
try {
nStr = new String(str.getBytes("ISO8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return nStr;
}
}
News.java
package news;
public class News {
private String title;
private String content;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
8、用戶登錄
關鍵代碼:
- 變數get、set訪問器
<jsp:useBean id="aUser" class="user.User"></jsp:useBean>
<jsp:setProperty property="*" name="aUser"></jsp:setProperty>
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="show.jsp" method="post" name="aUser">
<span>用戶名:</span><input type=text name="userName"><br>
<span>密碼:</span><input type=text name="password"><br>
<span>問題:</span><input type=text name="question"><br>
<span>回答:</span><input type=text name="answer"><br>
<input type=submit value="提交">
</form>
</body>
</html>
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="aUser" class="user.User"></jsp:useBean>
<jsp:setProperty property="*" name="aUser"></jsp:setProperty>
<span>請您核對資訊如下:</span><br>
<span>用戶名:</span><jsp:getProperty property="userName" name="aUser"/><br>
<span>密碼:</span><jsp:getProperty property="password" name="aUser"/><br>
<span>問題:</span><jsp:getProperty property="question" name="aUser"/><br>
<span>答案:</span><jsp:getProperty property="answer" name="aUser"/><br>
</body>
</html>
User.java
package user;
import java.io.UnsupportedEncodingException;
public class User {
private String userName;
private String password;
private String question;
private String answer;
public String getUserName() throws UnsupportedEncodingException {
return new String(userName.getBytes("ISO8859_1"), "UTF-8");
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getQuestion() throws UnsupportedEncodingException {
return new String(question.getBytes("ISO8859_1"), "UTF-8");
}
public void setQuestion(String question) {
this.question = question;
}
public String getAnswer() throws UnsupportedEncodingException {
return new String(answer.getBytes("ISO8859_1"), "UTF-8");
}
public void setAnswer(String answer) {
this.answer = answer;
}
}
9、作文(EL)
關鍵代碼:
-
配置stringDeal.tld
-
呼叫自定義EL標簽
<%@ taglib uri="/stringDeal" prefix="sd" %> -
EL呼叫類方法
${sd:shiftEnter(param.zuowen)}
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="show.jsp" method="post">
<p>寫作文:</p>
<textarea rows="5" cols="100" name="zuowen"></textarea>
<input type="submit">
</form>
</body>
</html>
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="/stringDeal" prefix="sd" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>提交的資訊是:</p>
${sd:shiftEnter(param.zuowen)}
</body>
</html>
stringDeal.tld
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0">
<tlib-version>1.0</tlib-version>
<uri>/stringDeal</uri>
<function>
<name>shiftEnter</name>
<function-class>se.StringDeal</function-class>
<function-signature>java.lang.String shiftEnter(java.lang.String)</function-signature>
</function>
</taglib>
StringDeal.java
package se;
import java.io.UnsupportedEncodingException;
public class StringDeal {
public static String filter(String str) throws UnsupportedEncodingException {
String newStr = new String(str.getBytes("ISO8859-1"), "UTF-8");
return newStr;
}
public static String shiftEnter(String oldStr) throws UnsupportedEncodingException {
oldStr = filter(oldStr);
String newStr = oldStr.replaceAll("\r\n", "<br>");
newStr = newStr.replaceAll(" ", " ");
return newStr;
}
}
10、jstl標簽庫
index.jsp
<%@ page import="java.util.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:url var="path" value="register.jsp" scope="page">
<c:param name="user" value="gjl"/>
<c:param name="email" value="1609263671@qq.com"/>
</c:url>
<a href="${pageScope.path}">register</a><br>
<span>escapeXml true</span>
<c:out value="水平線<hr>" escapeXml="true"></c:out><br>
<span>escapeXml false</span>
<c:out value="水平線<hr>" escapeXml="false"></c:out>
<c:set var="userName" value="dianziinfo" scope="request"></c:set>
<br>
<c:out value="userName=${userName2}"></c:out><br>
<jsp:useBean id="aUser" class="dz.UserInfo"></jsp:useBean>
<c:set target="${aUser}" property="userName">xiaoli</c:set>
<br>
<%=aUser.getUserName() %>
<c:out value="userName=${aUser.userName}" />
<c:remove var="userName" scope="request"></c:remove><br>
<span>洗掉后:userName=</span>
<c:out value="${userName}" default="空"></c:out><br>
<c:catch var="error">
<c:set target="${aUser}" property="userPass">134</c:set>
</c:catch>
<c:out value="出錯資訊為:${error}"></c:out><br>
<c:if test="${empty param.nickname}" var="result">
<form action="" method="post">
<span>please input your nickname:</span>
<input type="text" name="nickname">
<input type="submit">
</form>
</c:if>
<c:if test="${!result}">
[${param.nickname}], welcome!
</c:if>
<c:choose>
<c:when test="${empty param.truename}">
<form action="" method="post">
<span>please input your truename:</span>
<input type="text" name="truename">
<input type="submit">
</form>
</c:when>
<c:otherwise>
[${param.truename}], welcome!
</c:otherwise>
</c:choose>
<%Random rnd = new Random(); %>
<c:set var="hours"><%=rnd.nextInt(24)%></c:set>
<c:choose>
<c:when test="${hours>=1 && hours<6}"><span>早上好</span></c:when>
<c:when test="${hours>=6 && hours<11}"><span>上午好</span></c:when>
<c:when test="${hours>=11 && hours<17}"><span>下午好</span></c:when>
<c:when test="${hours>=17 && hours<24}"><span>晚上好</span></c:when>
</c:choose>
<br>
<%
List<String> myList = new ArrayList<String>();
myList.add("apple");
myList.add("pear");
myList.add("orange");
request.setAttribute("myList", myList);
%>
<c:forEach items="${requestScope.myList}" var="keyword" varStatus="id">
${id.index} ${keyword}<br>
</c:forEach>
<p>遍歷myList集合中第1個元素之后的元素(不包括第1個):</p>
<c:forEach items="${requestScope.myList}" var="keyword" varStatus="id" begin="1">
${id.index} ${keyword}<br>
</c:forEach>
<c:set var="bigStr" value="12,df,34、lj."></c:set><br>
<c:out value="bigStr=${bigStr}"></c:out><br>
<c:forTokens items="${bigStr}" delims=",、." var="item">
${item}<br>
</c:forTokens>
</body>
</html>
UserInfo.java
package dz;
public class UserInfo {
private String userName;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
11、計數過濾器
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<span>你是第<%=application.getAttribute("count").toString()%>位訪問者,</span>
</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Qimo</display-name>
<context-param>
<param-name>visitCount</param-name>
<param-value>1000</param-value>
</context-param>
<filter>
<filter-name>guojiale</filter-name>
<filter-class>filter.CountFilter</filter-class>
<init-param>
<param-name>initCount</param-name>
<param-value>10000</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>guojiale</filter-name>
<url-pattern>/11_Count_Filter/index.jsp</url-pattern>
</filter-mapping>
<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>
</web-app>
CountFilter.java
package filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
//@WebFilter("/CountFilter")
public class CountFilter implements Filter {
public int count = 5000;
/**
* Default constructor.
*/
public CountFilter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
// place your code here
count++;
HttpServletRequest req = (HttpServletRequest) request;
ServletContext sc = req.getSession().getServletContext();
sc.setAttribute("count", count);
// pass the request along the filter chain
chain.doFilter(request, response);
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
String countStr = fConfig.getInitParameter("initCount");
count = Integer.parseInt(countStr);
}
}
12、servlet
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="Mygjl">Servlet</a>
</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Qimo</display-name>
<context-param>
<param-name>visitCount</param-name>
<param-value>1000</param-value>
</context-param>
<filter>
<filter-name>guojiale</filter-name>
<filter-class>filter.CountFilter</filter-class>
<init-param>
<param-name>initCount</param-name>
<param-value>10000</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>guojiale</filter-name>
<url-pattern>/11_Count_Filter/index.jsp</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>MyFirstServlet</servlet-name>
<servlet-class>servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyFirstServlet</servlet-name>
<url-pattern>/12_servlet/Mygjl</url-pattern>
</servlet-mapping>
<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>
</web-app>
MyServlet.java
package servlet;
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 MyServlet
*/
//@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public MyServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
response.setContentType("text/html");
response.setCharacterEncoding("GBK");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("my servlet class is :" + this.getClass());
out.println("</body>");
out.println("</html>");
}
/**
* @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);
}
}
13、MySQL
注意:
在lib下匯入mysql.jar包
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="SqlServlet" method="post">
<input type="text" name="add" placeholder="please input sql here"/>
<input type="submit" value="增"/><br>
<input type="text" name="delete" placeholder="please input sql here"/>
<input type="submit" value="刪"/><br>
<input type="text" name="update" placeholder="please input sql here"/>
<input type="submit" value="更"/><br>
<input type="text" name="select" placeholder="please input sql here"/>
<input type="submit" value="查看">
</form>
</body>
</html>
SqlServlet.java
package sql;
import java.io.IOException;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import sql.SQL;;
/**
* Servlet implementation class SqlServlet
*/
@WebServlet("/13_SQL/SqlServlet")
public class SqlServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public SqlServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
SQL myDao = new SQL();
String add = request.getParameter("add");
String delete = request.getParameter("delete");
String update = request.getParameter("update");
String select = request.getParameter("select");
if (add != "") {
myDao.update(add);
response.getWriter().println(myDao.updateString);
}
if (delete != "") {
myDao.update(delete);
response.getWriter().println(myDao.updateString);
}
if (update != "") {
myDao.update(update);
response.getWriter().println(myDao.updateString);
}
if (select != "") {
try {
myDao.search(select);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.getWriter().println(myDao.selectString);
}
}
}
SQL.java
package sql;
import java.sql.*;
public class SQL {
public String selectString = "";
public String updateString = "";
private Connection conn = null;
private Statement st = null;
public void search(String sql) throws SQLException {
ResultSet rs = null;
try {
rs = st.executeQuery(sql);
while(rs.next()){
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
selectString += " "+rs.getMetaData().getColumnLabel(i)+" - "+rs.getString(i);
}
selectString += "<br>";
}
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void update(String sql) {
try {
int count = st.executeUpdate(sql);
updateString += Integer.toString(count);
} catch (SQLException e) {
e.printStackTrace();
}
}
public SQL(){
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundException e){
e.printStackTrace();
}
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost/se", "root", "");
} catch (SQLException e) {
e.printStackTrace();
}
try {
st = conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
MyFilter.java
package sql;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
/**
* Servlet Filter implementation class MyFilter
*/
@WebFilter("/*")
public class MyFilter implements Filter {
/**
* Default constructor.
*/
public MyFilter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
// place your code here
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
// pass the request along the filter chain
chain.doFilter(request, response);
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
原始碼鏈接
百度網盤鏈接: https://pan.baidu.com/s/1B10ExdudX2nV3I8RWNa0Yg
提取碼:ncht
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/242900.html
標籤:其他
