文档章节

33 Servlet

恋佳
 恋佳
发布于 2015/07/22 14:05
字数 469
阅读 3
收藏 0
我们可以将Servlet看作是嵌套了HTML代码的Java类;可以将JSP

看作是嵌套了Java代码的HTML页面。

public class HelloWordSeverlet extends HttpServlet
{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException
	{
		resp.setContentType("text/html");
		PrintWriter out=resp.getWriter();
		out.println("<html><head><title>hello</title><head/>");
		out.println("<body><h1>i miss you bingjia"+new Date().toLocaleString()+"<h1></body></html>");
		out.flush();
	}
}

Post

login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'login.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
 
 <form action="/test/login" method="post">
 username <input type="text" name="username"/><br>
 password <input type="password"name="password"/><br>
 <input type="submit" value="submit"/>  
 <input type="reset" value="reset"/> 
 
 
 </form>
  </body>
</html>


login.java

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException
	{
		String usernameString = req.getParameter("username");
		String passwordString = req.getParameter("password");

		resp.setContentType("text/html");

		PrintWriter outPrintWriter = resp.getWriter();

		outPrintWriter.println("<html>");
		outPrintWriter.println("<head> <title>submit</title></head>");

		outPrintWriter.println("<body>");
		outPrintWriter.println("username:" + usernameString + "<br>");
		outPrintWriter.println("password:" + passwordString + "<br>"
				+ new Date().toLocaleString());

		outPrintWriter.println("</body>");

		outPrintWriter.println("</html>");

		outPrintWriter.flush();
	}

web文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
	<display-name></display-name>

	<servlet>
		<servlet-name>HelloWorld</servlet-name>
		<servlet-class>com.songxu.severlet.HelloWordSeverlet</servlet-class>

	</servlet>
	
	<servlet>
		<servlet-name>login</servlet-name>
		<servlet-class>com.songxu.severlet.Login</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>HelloWorld</servlet-name>
		<url-pattern>/HelloWorld</url-pattern>
	</servlet-mapping>
	
	<servlet-mapping>
		<servlet-name>login</servlet-name>
		<url-pattern>/login</url-pattern>
	</servlet-mapping>

</web-app>
get与post方法之间的差别:
1) 浏览器地址栏呈现的结果不同(表象)
2) 真正的原因在于向服务器端发送请求时的形式是不同的
3) get的请求格式:

GET/test/login?username=hello&password=world http/1.1

4)   post的请求格式:

POST/test/Login HTTP/1.1

Connection Keep-Alive

username=hello&password=word


通过浏览器进行文件上传时,一定要使用post方式而绝不能使用get方式。
通过浏览器地址栏输入网址的方式来访问服务器端资源,全部使用的是get方法请求的。


© 著作权归作者所有

共有 人打赏支持
上一篇: 19 线程
下一篇: 20 Copy Clone
恋佳
粉丝 0
博文 76
码字总数 62107
作品 0
大连
私信 提问
have different Class objects for the type javax...

在测试spring-mvc-showcase的时候出现如下log: HTTP Status 500 - type Exception report message description The server encountered an internal error () that prevented it from fulfi......

刘文豪
2011/09/10
0
0
tomcat 5.5 部署项目报错 关于Filter的错误。。

我在tomcat7.0部署没不报错,但是再tomcat5.5就会报错。。 listener.ContextListener UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter logLevel WARN UrlRewriteFilte......

庄泽锐
2014/03/06
1K
5
oscache缓存的页面为乱码

项目用的oscache,用的web.xml配置 CharacterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8   forceEncoding   true    CharacterEncodingF......

kkli
2014/03/13
378
1
Tomcat 容器与servlet的交互原理

Tomcat 是Web应用服务器,是一个Servlet/JSP容器. Tomcat 作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的响应传送回给客户.而Servlet是一种运行在支持Java语言的服务器...

watermelon11
02/25
0
0
Servlet 生命周期、工作原理

Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。 init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet 对象。可以配...

ArlenXu
2015/01/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

AWS自动部署工具codedeploy的部署概述

1)在AWS lambda平台上部署: 三大部分:要部署的内容 --> 部署的配置 --> 更新的lambda函数版本 部署的流程:上传修订的应用程序-->创建一个应用程序-->指定部署组-->指定部署的配置-->指定...

守护-创造
5分钟前
0
0
好程序员教程分享Javascript设计模式

好程序员教程分享Javascript设计模式 方法一 对象字面量表示法   在对象字面量表示法中,一个对象被描述为一组包含在大括号中,以逗号分隔的 name/value 对。对象内的名称可以是字符串或标...

好程序员IT
11分钟前
0
0
fail-fast和fail-safe的介绍和区别

fail-fast和fail-safe 前言 前段时间公司招的实习生在使用迭代器遍历的时候,对集合内容进行了修改,从而抛出ConcurrentModificationException. 然后给他讲解之余也整理了这一篇文章. fail-fa...

群星纪元
13分钟前
0
0
控制反转 IOC

控制反转(Inversion of Control,缩写为IoC)面向对象设计原则,降低代码耦合度 依赖注入(Dependency Injection,简称DI) 依赖查找(Dependency Lookup):容器提供回调接口和上下文条件给...

SibylY
24分钟前
0
0
网络介绍:Kubernetes设计文档

模型和动机 Kubernetes从Docker默认的网络模型中独立出来形成一套自己的网络模型。该网络模型的目标是:每一个pod都拥有一个扁平化共享网络命名空间的IP,通过该IP,pod就能够跨网络与其它物...

xiangyunyan
25分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部