hello2 source analisis(notes)
该hello2应用程序是一个Web模块,它使用Java Servlet技术来显示问候语和响应。使用文本编辑器查看应用程序文件,也可以使用NetBeans IDE。
此应用程序的源代码位于 _tut-install_/examples/web/servlet/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.";
}
}
2.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.";
}
}
hello2 source analisis(notes)的更多相关文章
- hello2 Source Analisis
hello2应用程序是一个web模块,它使用Java Servlet技术来显示问候和响应.此应用程序的源代码位于 _tut-install_/examples/web/servlet/hello2/目 ...
- Analisis of Hello2 source
GreetingServlet.java @WebServlet("/greeting") //为servelt指定URL pattern为:/greeting public cl ...
- Hello2 source analysis
在example目录下的web\servlet\hello2\src\main\java\javaeetutorial\hello2路径里可以找到hello2的GreetingServlet.java ...
- Analysis of Hello2 source code
Hello2 应用程序是一个 Web 模块,它使用 Java Servlet 技术来显示问候语和响应,使用的是 Java Servlet 技术. 该应用程序源代码在 tutorial-examples ...
- hello2 source anaylis
首先,我们先来看一看这一段的整体代码, 代码如下: @WebServlet("/greeting") public class GreetingServlet extends Ht ...
- [To be translated] Nova:libvirt image 的生命周期
翻译自:http://www.pixelbeat.org/docs/openstack_libvirt_images/ The main stages of a Virtual Machine dis ...
- [转]http://makefiletutorial.com/
Intro This makefile will always run. The default target is some_binary, because it is first. some_bi ...
- 访问WEB-INF目录中的JSP文件
方法1:本来WEB-INF中的jsp就是无法通过地址栏访问的.所以安全.如果说你要访问这个文件夹中的jsp文件需要在项目的web.xml文件中去配置servlet格式差不多的配置就ok了.如下: 访问 ...
- windows ntp安装及调试
Setting up NTP on Windows It's very helpful that Meinberg have provided an installer for the highly- ...
随机推荐
- 【js】再谈移动端的模态框实现
移动端模态框的机制因为与PC的模态框机制一直有所区别,一直是许多新人很容易踩坑的地方,最近笔者作为一条老咸鱼也踩进了一个新坑中,真是平日里代码读得太粗略,故而写上几笔,以儆效尤. 故事的起因是这样的, ...
- MongoDB一些常用指令与他的JavaScript的对应表
- BFS POJ 3414 Pots
题目传送门 /* BFS:六种情况讨论一下,BFS轻松解决 起初我看有人用DFS,我写了一遍,TLE..还是用BFS,结果特判时出错,逗了好长时间 看别人的代码简直是受罪,还好自己终于发现自己代码的小 ...
- ACM_Hailstone HOTPO
Hailstone HOTPO Time Limit: 2000/1000ms (Java/Others) Problem Description: The hailstone sequence is ...
- HTML基础2——综合案例1——如何用iis配置网站
1.打开iis 如果机子上面没有iis,可以先装一个,不同的系统可能安装步骤不一样,至于iis的安装方法,大家可以去百度找找. 2.准备网站源程序 既然要配置网站,肯定要先准备好网站源程序,网 ...
- [转]ASP.NET MVC HtmlHelper扩展之Calendar日期时间选择
本文转自:http://blog.bossma.cn/asp_net_mvc/asp-net-mvc-htmlhelper-calendar-datetime-select/ 这里我们扩展HtmlHe ...
- C语言学习(2)-GTK布局
首先了解下gtk中函数的定义格式: 记住下面几个格式看,下面的代码 声明变量:GtkAbc*abc=gtk_abc_new()声明控件; 赋值:gtk_abc_set_label(controlNam ...
- servlet下的request&&response
request的方法 *获取请求方式: request.getMethod(); * 获取ip地址的方法 request.getRemoteAddr(); * 获得用户清气的路 ...
- 手机页面操作栏的创建及WebFont的使用
一.手机界面底部操作栏的创建. <style> .opers{ position:absolute; bottom:0px; left:0px; right:0px; height:3re ...
- Python安装笔记
1.教程