js333 > 计算机互联网 > J2EE核心技术,servlet中地址详细分析

原标题:J2EE核心技术,servlet中地址详细分析

浏览次数:191 时间:2019-10-09

servlet中地址详细分析,servlet地址分析

path路径的写法

假设;

  项目名为day01

   webroot下存放静态文件demo.html

转发

request.getRequestDispatcherType("path").forward(request,response); //path=/demo.html

重定向

response.sendRedirect("path"); //path=/day01/demo.html

html中的url

<html>

金沙js333娱乐场,  <head><title></title></head>

  <body><a href='path'>超链接</a></body> //path=/day01/demo.html

</html>

form表单的action中的提交地址

<html>

  <head><title></title></head>

  <body><form action="path"></form></body> //path=/day01/demo.html

</html>

总结:

  目标资源是给谁用的

      1,tomcat服务器 /代表的是当前web项目的根目录('就是root目录下'),可以直接写写上静态资源名

      2,浏览器/代表的是webapps下面所以要加上项目名再加静态资源名

注意:web 项目的根目录是指项目名,然而项目在部署到tomcat服务器上面的时候会把项目拷贝到webapps下面 , webroot下面的文件夹及文件直接拷贝到项目地下webroot被覆盖目录结构如下图

项目工作目录

  金沙js333娱乐场 1金沙js333娱乐场 2

本地文件目录(无webroot目录)

  金沙js333娱乐场 3

加载外部资源

  见servletcontext与servletconfig中

path路径的写法 假设; 项目名为day01 webroot下存放静态文件demo.html 转发 request.getRequestDispatcherType(" pat...

path路径的写法

path路径的写法

        说到JSP和Servlet,不得不讲讲他哥俩的来龙去脉,Servlet是先出者,是为了满足生成动态页面的需求,但是他有一个巨大的毛病,就是需要在Java类中一句句的输出HTML标签来实现动态效果,这种写法令开发者头疼不已,因为随着页面的复杂度提升,动态和静态的整合就显得非常麻烦,修改起来也不是很好。因此,JSP横空出世,他支持在HTML页面直接写Java语句,不需要后期的整合,直接变成JSP文件,并且Sun公司一度把JSP从编码形式上改得和HTML标签极度相似。但是,Servlet并没有因为JSP退出舞台,而是退居二线,一心一意的做起了Controller层,和View层的JSP配合完成一个又一个艰巨的任务。

假设;

假设;

        那就先从HelloWorld例子入手,先写一个Servlet往客户端输出的例子,现在eclipse下创建一个Servlet或Class文件,代码如下:

  项目名为day01

  项目名为day01

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Hello World!</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Hello World!</h1>"); out.println("</body>"); out.println("</html>"); } }

   webroot下存放静态文件demo.html

   webroot下存放静态文件demo.html

 

转发

转发

        运行上段Servlet代码,还需要在服务器中配置并发布,我用的服务器是tomcat,具体的操作过程不再赘述,百度即可。从这个例子可以看出Servlet就是一个Java类,它是通过out.println方法一句句的输入HTML达到网页动态效果的。

request.getRequestDispatcherType("path").forward(request,response); //path=/demo.html

request.getRequestDispatcherType("path").forward(request,response); //path=/demo.html

        下面再来看一段JSP的代码,这时候创建的就是一个JSP文件了,不是Java类,JSP文件支持HTML,也可以在他里面写Java代码,示例如下:

重定向

重定向

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <% out.println("HelloJSP");%> </body> </html>

response.sendRedirect("path"); //path=/day01/demo.html

response.sendRedirect("path"); //path=/day01/demo.html

       

html中的url

html中的url

        上面的例子直接拷贝到tomcat的webapps下就可以运行,不需要像Servlet一些样配置config文件等。写JSP时可以直接在需要动态的部分中插入需要的Java代码,其余的静态部分依旧按照HTML的写法即可,其实,从例子可以看出 JSP就是能写Java代码的HTML文件。

<html>

<html>

 

  <head><title></title></head>

  <head><title></title></head>

        下面再举一个JSP和Servlet配合完成的例子,把JSP中的数据提交到Servlet,并且显示出来,代码如下:

  <body><a href='path'>超链接</a></body> //path=/day01/demo.html

  <body><a href='path'>超链接</a></body> //path=/day01/demo.html

JSP页面的代码:

</html>

</html>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <form action="HelloServlet" method="post"> <input type="text" name="txtInput"/> <input type="submit" name="btnSubmit" value="Submit Order"/> </form> </body> </html>

form表单的action中的提交地址

form表单的action中的提交地址

Servlet文件的代码:

<html>

<html>

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { //doGet方法将数据放在头部,直接在url里面给出 public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String strParam=request.getParameter("txtInput").toString(); PrintWriter out = response.getWriter(); out.println(strParam); } @Override //doPost在专门的数据区,因此post能传递大量的数据 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doGet(req, resp);//调用doGet方法 } }

  <head><title></title></head>

  <head><title></title></head>

从例子可以看出JSP和Servlet互相配合,完成了数据的提交和页面的跳转,他俩配合实为完美。

  <body><form action="path"></form></body> //path=/day01/demo.html

  <body><form action="path"></form></body> //path=/day01/demo.html

 

</html>

</html>

 

总结:

总结:

  目标资源是给谁用的

  目标资源是给谁用的

      1,tomcat服务器 /代表的是当前web项目的根目录('就是root目录下'),可以直接写写上静态资源名

      1,tomcat服务器 /代表的是当前web项目的根目录('就是root目录下'),可以直接写写上静态资源名

      2,浏览器/代表的是webapps下面所以要加上项目名再加静态资源名

      2,浏览器/代表的是webapps下面所以要加上项目名再加静态资源名

注意:web 项目的根目录是指项目名,然而项目在部署到tomcat服务器上面的时候会把项目拷贝到webapps下面 , webroot下面的文件夹及文件直接拷贝到项目地下webroot被覆盖目录结构如下图

注意:web 项目的根目录是指项目名,然而项目在部署到tomcat服务器上面的时候会把项目拷贝到webapps下面 , webroot下面的文件夹及文件直接拷贝到项目地下webroot被覆盖目录结构如下图

项目工作目录

项目工作目录

  金沙js333娱乐场 4金沙js333娱乐场 5

  金沙js333娱乐场 6金沙js333娱乐场 7

本地文件目录(无webroot目录)

本地文件目录(无webroot目录)

  金沙js333娱乐场 8

  金沙js333娱乐场 9

加载外部资源

加载外部资源

  见servletcontext与servletconfig中

  见servletcontext与servletconfig中

本文由js333发布于计算机互联网,转载请注明出处:J2EE核心技术,servlet中地址详细分析

关键词:

上一篇:没有了

下一篇:java基本数据类型的范围,Java数据类型