模板:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
head>
<body>
<p>p>
body>
html>
关键代码:
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"%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title heretitle>
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>爱好1span>
<input type="checkbox" name="like" value="爱好2"><span>爱好2span>
<input type="checkbox" name="like" value="爱好3"><span>爱好3span>
p>
<input type="submit" value="提交"/>
form>
body>
html>
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title heretitle>
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>
关键代码:
中文写入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"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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>
关键代码:
获取、更新application变量值
application.getAttribute("visitCount")
获取application变量
application.getInitParameter("visitCount")
从配置文件(web.xml)获取application变量初始化值
application.setAttribute("visitCount", temp)
更改application变量值
初始化application变量(web.xml)
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title heretitle>
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
<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>Qimodisplay-name>
<context-param>
<param-name>visitCountparam-name>
<param-value>1000param-value>
context-param>
<welcome-file-list>
<welcome-file>index.htmlwelcome-file>
<welcome-file>index.htmwelcome-file>
<welcome-file>index.jspwelcome-file>
<welcome-file>default.htmlwelcome-file>
<welcome-file>default.htmwelcome-file>
<welcome-file>default.jspwelcome-file>
welcome-file-list>
web-app>
关键代码:
top.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.net.URLDecoder"%>
<%@ page import="java.util.*"%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title heretitle>
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"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
head>
<body>
<p>page_1p>
<a href="javascript:window.top.location.href='page_2.jsp'">Go to page_2a>
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"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
head>
<body>
<p>page_2p>
<input type="button" value="Go to page_1" onclick="window.top.location='page_1.jsp'">
body>
html>
关键代码:
页面每秒自动刷新
jsp调用类对象
jsp调用类变量
name字段值为类实例的id
name字段值为类实例的id
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<html>
<head>
<meta http-equiv="Refresh" content="1">
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
<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;
}
}
关键代码:
<%@ page import="email.Email"%>
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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("@");
}
}
关键代码:
调用类对象
所有变量set初始化标题:<%=EncStr.getStr(aNews.getTitle()) %>
变量get值内容:<%=EncStr.getStr(aNews.getContent()) %>
变量get值index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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;
}
}
关键代码:
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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;
}
}
关键代码:
配置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"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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" %>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
head>
<body>
<p>提交的信息是:p>
${sd:shiftEnter(param.zuowen)}
body>
html>
stringDeal.tld
<taglib version="2.0">
<tlib-version>1.0tlib-version>
<uri>/stringDealuri>
<function>
<name>shiftEntername>
<function-class>se.StringDealfunction-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", "
");
newStr = newStr.replaceAll(" ", " ");
return newStr;
}
}
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"%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title heretitle>
head>
<body>
<c:url var="path" value="register.jsp" scope="page">
<c:param name="user" value="gjl"/>
<c:param name="email" value="[email protected]"/>
c:url>
<a href="${pageScope.path}">registera><br>
<span>escapeXml truespan>
<c:out value="水平线
" escapeXml="true">c:out><br>
<span>escapeXml falsespan>
<c:out value="水平线
" 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">xiaolic: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">134c: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;
}
}
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
head>
<body>
<span>你是第<%=application.getAttribute("count").toString()%>位访问者。span>
body>
html>
web.xml
<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>Qimodisplay-name>
<context-param>
<param-name>visitCountparam-name>
<param-value>1000param-value>
context-param>
<filter>
<filter-name>guojialefilter-name>
<filter-class>filter.CountFilterfilter-class>
<init-param>
<param-name>initCountparam-name>
<param-value>10000param-value>
init-param>
filter>
<filter-mapping>
<filter-name>guojialefilter-name>
<url-pattern>/11_Count_Filter/index.jspurl-pattern>
filter-mapping>
<welcome-file-list>
<welcome-file>index.htmlwelcome-file>
<welcome-file>index.htmwelcome-file>
<welcome-file>index.jspwelcome-file>
<welcome-file>default.htmlwelcome-file>
<welcome-file>default.htmwelcome-file>
<welcome-file>default.jspwelcome-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);
}
}
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
head>
<body>
<a href="Mygjl">Servleta>
body>
html>
web.xml
<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>Qimodisplay-name>
<context-param>
<param-name>visitCountparam-name>
<param-value>1000param-value>
context-param>
<filter>
<filter-name>guojialefilter-name>
<filter-class>filter.CountFilterfilter-class>
<init-param>
<param-name>initCountparam-name>
<param-value>10000param-value>
init-param>
filter>
<filter-mapping>
<filter-name>guojialefilter-name>
<url-pattern>/11_Count_Filter/index.jspurl-pattern>
filter-mapping>
<servlet>
<servlet-name>MyFirstServletservlet-name>
<servlet-class>servlet.MyServletservlet-class>
servlet>
<servlet-mapping>
<servlet-name>MyFirstServletservlet-name>
<url-pattern>/12_servlet/Mygjlurl-pattern>
servlet-mapping>
<welcome-file-list>
<welcome-file>index.htmlwelcome-file>
<welcome-file>index.htmwelcome-file>
<welcome-file>index.jspwelcome-file>
<welcome-file>default.htmlwelcome-file>
<welcome-file>default.htmwelcome-file>
<welcome-file>default.jspwelcome-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("");
out.println("");
out.println("my servlet class is :" + this.getClass());
out.println("");
out.println("");
}
/**
* @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);
}
}
注意:
在lib下导入mysql.jar包
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<meta charset="UTF-8" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
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 += "
";
}
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