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 ...
随机推荐
- 安卓开发学习之AutoCompleteTextView
最近在学习安卓开发,开始是看视频学的,基本上是照着老师的操作来,但其实老师也是按照安卓的开发文档来教的,于是决定试试自己看文档来学. 今天学到AutoCompleteTextView,一上来先按照Li ...
- Python全栈之路----文件处理
文件操作分为读.写.修改,我们先从读开始 f = open(file = 'D:/工作日常/ABCD.txt',mode = 'r',encoding = 'utf-8') #file 是文件路径 m ...
- Android版本28使用http请求报错not permitted by network security policy
Android版本28使用http请求报错not permitted by network security policy android模拟器调试登录的时候报错 CLEARTEXT communic ...
- ccf-棋局评估-20190304
三更: 更短的代码,更短的时间,加油! 也祝你好运哦!!!! 核心: dfs(player) player下完之后最大得分 优点: 我位运算掌握的还不错嘛 2和1如何转换 2^3=1; 1^3= ...
- 使用miniconda创建python虚拟环境
安装python指定环境 conda create -n oldboy python=3.6.5 安装环境的同时安装相应的包 conda create -n oldboy python=3.6.5 p ...
- wmv 播放器
部分代码如下 QAction *openFile = new QAction(QIcon(QString(":/Res/open.png")), tr("打开文件&quo ...
- phpStudy2018 在win7下切换php7不成功解决办法
phpstudy 由2016升级到2018后,在切换版本时,php5.6及以下版本可以正常切换,切换7.0以上的版本时访问页面报 0xc000007b 错误,网上找了很多方法都没能解决,最后发现是没装 ...
- [转]Linux下Python与C++混合编程
转自:http://www.cnblogs.com/tevic/p/3645197.html 最近在做一个CUDA的项目,记录下学习心得. 系统 Linux 3.11.0-19-generic #33 ...
- ASP.NET 4.0 :MasterPage母版页的ClientIDMode属性
在ASP.NET 4.0之前我们总是要为控件的ClientID头疼,比如明明一个叫lblName的Label放在一个叫做grd的GridView里面后,在页面上改Label的ID就变成了诸如grd_c ...
- Spring Boot - 配置介绍
Spring Boot 针对常用的开发场景提供了一系列自动化配置来减少原本复杂而又几乎很少改动的模板配置内容,但是,我们还是需要了解如何在Spring Boot中修改这些自动化的配置,以应对一些特殊场 ...