javaee隨堂測試Jsp+ServletTest
阿新 • • 發佈:2018-12-23
功能點:
- 實現兩個jsp頁面,addStudent.jsp和result.jsp,前者用於增加學生資訊,後者用於顯示學生資訊;
- addStudent.jsp如下示例網頁所示,點選提交之後跳轉到result.jsp;
- result.jsp點選返回之後調回addStudent.jsp;
- 跳轉的時候需使用JSP內建物件request物件來傳遞引數;
- result.jsp顯示學生的時候判斷郵箱地址是否合法(其中是否有@),必須使用JavaBean;
- result.jsp下使用Servlet顯示這是本站第多少次被訪問。
工程結構如下所示
userbean程式碼如下
package userbean; public class Userbean { private String age; private String name; private String mail; private boolean eamil; public Userbean() { } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMail() { return mail; } public void setMail(String mail) { this.mail = mail; } public boolean isEamil() { // 正則表示式,定義郵箱格式 String regex = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; // matches()方法可判斷字串是否與正則表示式匹配 if (mail.matches(regex)) { // eamil為真 eamil = true; } // 返回eamil return eamil; } }
過濾器myfliter 顯示第幾次訪問網站
package com.fliter; 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.http.HttpServletRequest; /** * 統計過濾器 */ public class myfliter implements Filter { // 來訪數量 private int count; @Override public void init(FilterConfig filterConfig) throws ServletException { // 獲取初始化引數 String param = filterConfig.getInitParameter("count"); // 將字串轉換為int count = Integer.valueOf(param); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 訪問數量自增 count ++; // 將ServletRequest轉換成HttpServletRequest HttpServletRequest req = (HttpServletRequest) request; // 獲取ServletContext ServletContext context = req.getSession().getServletContext(); // 將來訪數量值放入到ServletContext中 context.setAttribute("count", count); // 向下傳遞過濾器 chain.doFilter(request, response); } @Override public void destroy() { } }
addstudent.jsp程式碼
<%@ page contentType="text/html; charset=utf-8" language="java"
pageEncoding="utf-8" errorPage=""%>
<%@ page import="java.sql.*" %>
<head>
<title>增加</title>
</head>
<body>
<form id="form" action="result.jsp" method="post">
姓名: <br /> <input type="text" name="name"><hr />
年齡: <br /> <input type="text" name="age"><hr />
郵箱: <br /> <input type="text" name="mail"><hr />
<input type="submit" value="提交">
<input type="reset" value="重置">
</form>
</body>
</html>
result.jsp程式碼
<%@ page contentType="text/html; charset=utf-8" language="java"
pageEncoding="utf-8" errorPage=""%>
<%@ page import="userbean.Userbean" %>
<head>
<title>結果</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
String age = request.getParameter("age");
String mail = request.getParameter("mail");
Userbean student=new Userbean();
student.setName(name);
student.setAge(age);
student.setMail(mail);
if(student.isEamil()){
out.print(mail + " <br>是一個標準的郵箱地址!<br>");
}else{
out.print(mail + " <br>不是一個標準的郵箱地址!<br>");
}
out.print(" <br /><hr />");
out.print("姓名:"+name+"<br> <br>");
out.print("年齡:"+age+"<br> <br>");
out.print("郵箱:"+mail+"<br> <br>");
%>
<h2>
歡迎光臨,<br>
您是本站的第【
<%=application.getAttribute("count") %>
】位訪客!
</h2>
<a href="addstudent.jsp">返回</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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>10.3</display-name>
<welcome-file-list>
<welcome-file>addstudent.html</welcome-file>
<welcome-file>addstudent.htm</welcome-file>
<welcome-file>addstudent.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 過濾器宣告 -->
<filter>
<!-- 過濾器的名稱 -->
<filter-name>com.fliter.myfliter</filter-name>
<!-- 過濾器的完整類名 -->
<filter-class>com.fliter.myfliter</filter-class>
<!-- 設定初始化引數 -->
<init-param>
<!-- 引數名 -->
<param-name>count</param-name>
<!-- 引數值 -->
<param-value>0</param-value>
</init-param>
</filter>
<!-- 過濾器對映 -->
<filter-mapping>
<!-- 過濾器名稱 -->
<filter-name>com.fliter.myfliter</filter-name>
<!-- 過濾器URL對映 -->
<url-pattern>/addstudent.jsp</url-pattern>
</filter-mapping>
</web-app>
addstudent介面
result介面