hello1以及hello2的部分代码分析
(一)1.GreetingServlet.java源码文件:
@WebServlet("/greeting") //以@WebServlet注释开头,注释指定相对于上下文根的URL模式,即在根目录下使用/greeting来访问
public class GreetingServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, //该servlet重写该doGet方法,实现GET HTTP方法
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html"); //指定响应页面的类型为html
response.setBufferSize(8192); //指定缓冲区大小
try (PrintWriter out = response.getWriter()) { //实例化对象out,作为向html页面输出的对象
//使用println属性,向html页面输出html标签,这里输出的是:
//<html lang=en>
// <head>
// <title>Servlet Hello</title>
// </head>
out.println("<html lang=\"en\">"
+ "<head><title>Servlet Hello</title></head>");
//使用println属性,向html页面输出html标签,这里输出的是:
//<body bgcolor=#ffffff>
// <img src=resources/images/duke.waving.gif alt=Duke waving his hand>
// <form method=get>
// <h2>Hello, my name is Duke. What's yours?</h2>
// <input title=My name is: type=text name=username size=25/>
// <p></p>
// <input type=submit value=Submit/>
// <input type=reset value=Reset/>
// </form>)
out.println("<body bgcolor=\"#ffffff\">"
+ "<img src=\"resources/images/duke.waving.gif\" "
+ "alt=\"Duke waving his hand\">"
+ "<form method=\"get\">"
+ "<h2>Hello, my name is Duke. What's yours?</h2>"
+ "<input title=\"My name is: \" type=\"text\" "
+ "name=\"username\" size=\"25\"/>"
+ "<p></p>"
+ "<input type=\"submit\" value=\"Submit\"/>"
+ "<input type=\"reset\" value=\"Reset\"/>"
+ "</form>");
//使用一个字符串username来获取,第一个input标签内的username的值
String username = request.getParameter("username");
if (username != null && username.length() > 0) {
RequestDispatcher dispatcher =
getServletContext().getRequestDispatcher("/response");
//指定要跳转的页面相对于上下文根的URL模式为/response
if (dispatcher != null) {
//整合request, response然后跳转
dispatcher.include(request, response);
}
}
//使用println属性,向html页面输出html标签,这里输出的是:
// </body>
//</html>
out.println("</body></html>");
}
}
@Override
public String getServletInfo() {
return "The Hello servlet says hello.";
}
}
ResponseServlet.java源码文件:
@WebServlet("/response") //以@WebServlet注释开头,注释指定相对于上下文根的URL模式,
//即在根目录下使用/response来访问,这里作为greting页面的响应页面来实现访问
public class ResponseServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, //该servlet重写该doGet方法,实现GET HTTP方法
HttpServletResponse response)
throws ServletException, IOException {
try (PrintWriter out = response.getWriter()) { //实例化对象out,作为向html页面输出的对象
//接收来自greting页面请求中的input标签中输入的username
String username = request.getParameter("username");
if (username != null && username.length() > 0) {
//使用println属性,向html页面输出html标签,这里输出的是:
//<h2>Hello,XXX(前面输入的username的值)!</h2>
out.println("<h2>Hello, " + username + "!</h2>");
}
}
}
@Override
public String getServletInfo() {
return "The Response servlet says hello.";
}
}
hello1以及hello2的部分代码分析的更多相关文章
- hello1和hello2代码分析
1.hello1代码分析 hello.java package javaeetutorial.hello1; import javax.enterprise.context.RequestScoped ...
- hello1 hello2 代码分析
1.hello1代码分析 hello.java package javaeetutorial.hello1; import javax.enterprise.context.RequestScoped ...
- hello1与hello2的代码分析
1.hello1代码分析 hello.java package javaeetutorial.hello1; import javax.enterprise.context.RequestScoped ...
- Android代码分析工具lint学习
1 lint简介 1.1 概述 lint是随Android SDK自带的一个静态代码分析工具.它用来对Android工程的源文件进行检查,找出在正确性.安全.性能.可使用性.可访问性及国际化等方面可能 ...
- pmd静态代码分析
在正式进入测试之前,进行一定的静态代码分析及code review对代码质量及系统提高是有帮助的,以上为数据证明 Pmd 它是一个基于静态规则集的Java源码分析器,它可以识别出潜在的如下问题:– 可 ...
- [Asp.net 5] DependencyInjection项目代码分析-目录
微软DI文章系列如下所示: [Asp.net 5] DependencyInjection项目代码分析 [Asp.net 5] DependencyInjection项目代码分析2-Autofac [ ...
- [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(5)(IEnumerable<>补充)
Asp.net 5的依赖注入注入系列可以参考链接: [Asp.net 5] DependencyInjection项目代码分析-目录 我们在之前讲微软的实现时,对于OpenIEnumerableSer ...
- 完整全面的Java资源库(包括构建、操作、代码分析、编译器、数据库、社区等等)
构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化 ...
- STM32启动代码分析 IAR 比较好
stm32启动代码分析 (2012-06-12 09:43:31) 转载▼ 最近开始使用ST的stm32w108芯片(也是一款zigbee芯片).开始看他的启动代码看的晕晕呼呼呼的. 还好在c ...
随机推荐
- 解决Yii2中刷新网页时验证码不刷新的问题
解决Yii2中刷新网页时验证码不刷新的问题 [ 2.0 版本 ] ljfrocky 2015-05-30 19:39:00 1304次浏览 5条评论 10110 在Yii2框架中,如果在表单中使用 ...
- JavaBasic_11
Object默认的实现是比较对象的地址 Object默认的实现是比较对象的地址局部内部类 局部位置内部类:局部是指方法体中 1.可以直接访问外部类的成员(这个特征是所有内部类所共有) 2.可以创建内部 ...
- leetcode 421.Maximum XOR of Two Numbers in an Array
题目中给定若干个数,然后任意选定两个数使得其异或值最大. 先利用样例中的: 3 10 5 25 2 8 这些数转换为二进制来看的话那么是先找到最高位的1然后与数组中其他的数相与后的数值保存到set中去 ...
- prototype的一些事
<script type="text/javascript"> foo=function(){ this.mayName="Foo function" ...
- Git图形化界面客户端
Git图形化界面客户端大汇总 文,还在不断更新,网上搜到的同名文章都是未经同意就从这里复制过去的) 一.TortoiseGit - The coolest Interface to Git Versi ...
- 2018.4.24 快排查找第K大
import java.util.Arrays; /* 核心思想:利用快排思想,先假定从大到小排序,找枢纽,枢纽会把大小分开它的两边,当枢纽下标等于k时, 即分了k位在它左边或右边,也就是最大或最小的 ...
- C++学习(三十六)(C语言部分)之 链表2
测试代码笔记如下: #include<stdio.h> #include<stdlib.h> typedef struct node { int data;//数据 struc ...
- pycharm 在线激活
1.在pycharm过期页面选择 enter License 2.激活界面的License server输入:http://idea.liyang.io 然后点击激活 (确保电脑能上网,亲测有效)
- SQL 入门了解
SQL 随着应用程序的功能越来越复杂,数据量越来越大,如何管理这些数据就成了大问题: 读写文件并解析出数据需要大量重复代码: 从成千上万的数据中快速查询出指定数据需要复杂的逻辑. 如果每个应用程序都各 ...
- win10的linux子系统安装及使用
最近需要用到linux但是又不想装双系统,正好win10推出了linux子系统,省事了,自己也是煞费苦心才整明白 1.首先你要是很新的win10版本(1607及已上),这样才有下面的步骤 依次在 设置 ...