JSP和Servlet學習筆記1 - 訪問配置
阿新 • • 發佈:2018-08-02
技術分享 exception print pack ping 分享 tdi 1.0 nds
1. 訪問WebContent目錄下的JSP文件
在WebContent中新建一個 test.jsp 文件
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Insert title here</title> </head> <body> <% int value = 100; %> <h1>value is <%= value %></h1> </body> </html>
訪問結果:
2. 訪問Servlet需要配置web.xml
新建一個類並繼承HttpServlet或直接新建一個Servlet
package indi.tracine.servlet.test; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestServlet extends HttpServlet {private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); out.print("This is TestServlet"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //doGet(req, resp); } }
在web.xml中配置該Servlet的 <servlet> 節點和 </servlet-mapping> 節點
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <display-name>jee-proj</display-name> <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> <servlet> <servlet-name>TestServlet</servlet-name> <servlet-class>indi.tracine.servlet.test.TestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/test</url-pattern> </servlet-mapping> </web-app>
訪問結果:
3.訪問WEB-INF目錄下的JSP文件
WEB-INF是一個安全目錄,客戶端請求是無法訪問該目錄了下的文件,需要配置web.xml或利用Servlet跳轉到該jsp文件
Ⅰ. 在web.xml中配置 WEB-INF 目錄下的 output.jsp文件
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <display-name>jee-proj</display-name> <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> <servlet> <servlet-name>output</servlet-name> <jsp-file>/WEB-INF/output.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>output</servlet-name> <url-pattern>/output</url-pattern> </servlet-mapping> </web-app>
Ⅱ. 訪問某個Servlet,在Servlet內部轉發到output.jsp文件(不是重定向)
package indi.tracine.servlet.test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class OutputServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.getRequestDispatcher("/WEB-INF/output.jsp").forward(request,response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //doGet(req, resp); } }
JSP和Servlet學習筆記1 - 訪問配置