JSP小结-Servlet-请求与路径

来源:互联网 发布:visio 数据建模 编辑:程序博客网 时间:2024/05/17 08:41

1.JSP指定输出格式

1.1–html格式

<%@ page contentType="text/html;charset=UTF-8";language="java"%>

1.2–Excel格式

<% response.setHeader("Content-disposition","attachment;filename=result.xls");%><%@ page contextType="application/vnd.ms-Excel;charset=UTF-8";language="java"%>

1.3–Word格式

<% response.setHeader("Content-disposition","attachment;filename=result.word");%><%@ page contextType="application/vnd.ms-Word;charset=UTF-8";language="java"%>

如果需要输出格式为Excel或Word,则应将JSP页面的 JS 和CSS 元素删除掉。

2.JSP与Servlet

Servlet是一个Java类,采用CGI方式逐句输出HTML语句,主要用于业务逻辑层,实现业务逻辑的处理。
JSP将Java代码嵌套在HTML中,简化和方便了网页的设计和修改。是为实现表示层而设计的,主要完成界面的显示逻辑。

3.JSP与Servlet请求与路径

jsp:testPath1.jsp

servlet:TestPath url-pattern:/testPath

testPath1.jsp页面代码

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ page import="java.io.*" %>//一定要引入包<!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=UTF-8"><title>Insert title here</title></head><body>        <%              out.println("request.getRequestURI():"+request.getRequestURI()+"<br/>");            out.println("request.getRequestURL():"+request.getRequestURL()+"<br/>");            String strPathFile = application.getRealPath(request.getRequestURI());            out.print("文件的绝对路径:"+strPathFile+"<br/>");            String strDirPath = new File(application.getRealPath(request.getRequestURI())).getParent();            out.println("目录的绝对路径:"+strDirPath+"<br/>");         %>    <a href="testPath">testPath Servlet</a></body></html>

请求testPath1.jsp浏览器显示

request.getRequestURI():/SSM-2/testPath1.jsprequest.getRequestURL():http://localhost:8088/SSM-2/testPath1.jsp**application.getRealPath(request.getRequestURI())**文件的绝对路径:D:\apache-tomcat-7.0.40\webapps\SSM-2\SSM-2\testPath1.jsp** new File(application.getRealPath(request.getRequestURI())).getParent()**目录的绝对路径:D:\apache-tomcat-7.0.40\webapps\SSM-2\SSM-2

请求 /testPath Servlet

java代码:

package com.web.test3;import java.io.File;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 TestPath extends HttpServlet {    /**     * Destruction of the servlet. <br>     */    public void destroy() {        super.destroy(); // Just puts "destroy" string in log        // Put your code here    }    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        response.setContentType("text/html");        doPost(request, response);    }    public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        response.setContentType("text/html");        PrintWriter out = response.getWriter();        System.out.println("request.getLocalAddr()--:"+request.getLocalAddr());        System.out.println("request.getLocalName()--:"+request.getLocalName());        System.out.println("request.getLocalPort()--:"+request.getLocalPort());        System.out.println("request.getLocales()--:"+request.getLocales());        System.out.println("request.getRemoteAddr()--:"+request.getRemoteAddr());        System.out.println("request.getRemoteHost()--:"+request.getRemoteHost());        System.out.println("request.getRemotePort()--:"+request.getRemotePort());        System.out.println("request.getRequestedSessionId()--:"+request.getRequestedSessionId());        System.out.println("request.getRequestURI()--:"+request.getRequestURI());        System.out.println("request.getRequestURL()--:"+request.getRequestURL());        System.out.println("request.getServerName()--:"+request.getServerName());        System.out.println("request.getServerPort()--:"+request.getServerPort());        System.out.println("request.getServletPath()--:"+request.getServletPath());        System.out.println("request.getContextPath()--:"+request.getContextPath());        System.out.println("request.getContentLength()--:"+request.getContentLength());        System.out.println("request.getServletPath():"+request.getServletPath());        out.println("request.getServletPath():"+request.getServletPath()+"<br/>");        System.out.println("request.getSession().getServletContext().getResourcePaths('/')"+request.getSession().getServletContext().getResourcePaths("/"));        System.out.println("request.getSession().getServletContext().getServletContextName()"+request.getSession().getServletContext().getServletContextName());        System.out.println("getServletConfig().getServletName()"+getServletConfig().getServletName());        System.out.println("getServletConfig().getServletContext().getContextPath()"+getServletConfig().getServletContext().getContextPath());        String strPathFileString = request.getSession().getServletContext().getRealPath(request.getRequestURI());        System.out.println("文件的绝对路径:"+strPathFileString);        out.println("文件的绝对路径:"+strPathFileString+"<br/>");        String strDirPath = new File(request.getSession().getServletContext().getRealPath(request.getRequestURI())).getParent();        System.out.println("目录的绝对路径:"+strDirPath);        out.println("目录的绝对路径:"+strDirPath+"<br/>");        //获取web项目的全路径        String strFullPath = getServletContext().getRealPath("/");        System.out.println("获取web项目的全路径"+strFullPath);        out.print("获取web项目的全路径---getServletContext().getRealPath('/'):"+strFullPath+"<br/>");        //获取web项目的上下文路径        String strContextPath = request.getContextPath();        System.out.println("获取web项目的上下文路径"+strContextPath);        out.print("获取web项目的上下文路径--request.getContextPath():"+strContextPath+"<br/>");    }    public void init() throws ServletException {    }}

浏览器显示:

request.getServletPath():/testPath***request.getSession().getServletContext().getRealPath(request.getRequestURI())***文件的绝对路径:D:\apache-tomcat-7.0.40\webapps\SSM-2\SSM-2\testPath*** new File(request.getSession().getServletContext().getRealPath(request.getRequestURI())).getParent()***目录的绝对路径:D:\apache-tomcat-7.0.40\webapps\SSM-2\SSM-2获取web项目的全路径---getServletContext().getRealPath('/'):D:\apache-tomcat-7.0.40\webapps\SSM-2\获取web项目的上下文路径--request.getContextPath():/SSM-2

console控制台输出:

request.getLocalAddr()--:127.0.0.1request.getLocalName()--:bandicam.comrequest.getLocalPort()--:8088request.getLocales()--:java.util.Collections$2@4519778arequest.getRemoteAddr()--:127.0.0.1request.getRemoteHost()--:127.0.0.1request.getRemotePort()--:4829request.getRequestedSessionId()--:B3FADDA338A2FA3D59BCCC46C7722C56request.getRequestURI()--:/SSM-2/testPathrequest.getRequestURL()--:http://localhost:8088/SSM-2/testPathrequest.getServerName()--:localhostrequest.getServerPort()--:8088request.getServletPath()--:/testPathrequest.getContextPath()--:/SSM-2request.getContentLength()--:-1request.getServletPath():/testPathrequest.getSession().getServletContext().getResourcePaths('/')[/index.jsp, /UI_jsp/, /WEB-INF/, /UI_File/, /testPath1.jsp, /META-INF/]request.getSession().getServletContext().getServletContextName():nullgetServletConfig().getServletName():TestPathgetServletConfig().getServletContext().getContextPath():/SSM-2文件的绝对路径:D:\apache-tomcat-7.0.40\webapps\SSM-2\SSM-2\testPath目录的绝对路径:D:\apache-tomcat-7.0.40\webapps\SSM-2\SSM-2获取web项目的全路径:D:\apache-tomcat-7.0.40\webapps\SSM-2\获取web项目的上下文路径:/SSM-2
0 0
原创粉丝点击