`
剑&箫
  • 浏览: 54572 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Web入门简单总结

    博客分类:
  • Web
阅读更多

    突然发现很久没有写博客了,在学习通信阶段是一篇总结都没有写。刚开始学习Java Web,觉得应该把学习的一些总结写下来,以此来记录自己的学习历程。好了,废话少说,下面开始自己Web阶段的第一篇总结,如有不对的地方麻烦各位多多指点。

    首先是Java Web应用的概述,Java Web应用程序是指以JSP和Servlet为核心的Java技术开发应用程序,这种应用程序在特定的Web服务器上运行,需要通过Web浏览器的访问。本人写的第一个应用程序就是Servlet接受客户端的参数,可能是刚接触Servlet,对它有很多模糊的地方,胡老师说目前只要知道怎么用它就行了。可是对它还是想稍微有点了解,自己就找了一点资料了解了一下,对它简单的介绍如下:

    Servlet是一种运行在Java服务器上的组件,它通过“请求-响应”的模式为浏览器提供服务,在这种模式中,Servlet组件处于被动地位,只有在浏览器向Tomcat服务器发出请求时,Tomcat上的Servlet组件才被触发。如下图是Tomcat服务器和Servlet组件之间的关系:

 

 

    首先Servlet是一个普通的Java类,此种类通过被Tomcat服务器调用而处理特定的数据,Servlet组件对应的Java类通常要实现特定的接口javax.servlet.Servlet接口,可以调用JDK中的各种类库,入文件的读写,数据库操作等。本人对Servlet的初步了解只作了上面的简单总结,以后有更深入的了解再另行总结,下面是自己写的Servlet接收参数的一些简单的总结:

form表单是浏览器向服务器传递数据的一种基本机制,Servlet接收form参数时要重写doGet或doPost方法可以在form元素的method="get/post"中指定,这两种方法的区别是get方法接收的数据不能大于2KB,而post方法可以是无限大的,不论是get或者post方法,服务器端都可以通过service方法接收,通常情况下,服务器只需要一个service方法即可。好了,先上传自己写的简单代码:

下面是一个login.html文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>蓝杰工作日志系统</title>
</head>
<body>
<form name="loginForm" action=WebTest method="get">
  用户名<input type="text" name="userName"/> <p>
  密    码<input type="password" name="pwd"/> <p>
  性别:<input type="radio" name="sex" value="0"check/>男<input type="radio" name="sex" value="1">女<br/>
  简介:<textarea name="intro" rows="5" cols="25"></textarea>
<br>
<input type="Submit" name="action" value="login"/>
<input type="Submit" value="reset" name="action">
</form>
</body>
</html>

 

 效果如下图:



 

 

下面是Servlet中service方法:

 

 

/**
	 * 处理客户端的Get方法器请求
	 */
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=GBK");//输出中文不乱码
		//得到用户发送请求时输入的参数
		String userName = request.getParameter("userName");
		String pwd = request.getParameter("pwd");
		
		PrintWriter out = response.getWriter();
		out.println("<HTML>");
		out.println("   <HEAD><TITLE>蓝杰 servlet 测试</TITLE></HEAD>");
		out.println("  <BODY>");
		out.print("  这是 "+this.getClass());
		out.println("输出的内容");
		out.println(" <br>用户名: "+userName);
		out.println(" <br>密  码: "+pwd);
		out.println("<hr>");
		String action = request.getParameter("action");
		out.println("action参数值:"+action);
		//登录请求
		if (action.equals("login")){
			//得到form中的参数
			String username = request.getParameter("userName");
			String Pwd = request.getParameter("pwd");
			//取得配置中的参数
			String initName = this.getInitParameter("userName");
			String initpwd = this.getInitParameter("pwd");
			
			if (username.equals(initName)&&Pwd.equals(initpwd)){
				out.println("你已登陆成功");
			}else{
				out.println("用户名或密码不正确!");
			}
		}
		else if (action.equals("reset")){
			out.println("正在建设中...");
		}
		else {
			out.println("action值未知:"+action);
		}
		
		//得到放有请求数据的一个遍历对象
		java.util.Enumeration<String> em = request.getHeaderNames();
		//取得客户机的地址
		String clientAdd = request.getRemoteAddr();
		out.println(clientAdd+"客户机请求头数据如下:");
		out.println("<hr>");
		out.println("<table border=\"1\" width=\"200px\" bgcolor=\"blue\">");
		//遍历输出为一个table
		while(em.hasMoreElements()){
			String headName = em.nextElement();
			String headValue = request.getHeader(headName);
			out.println("<tr><td>"+headName+"</td>");
			out.println("    <td>"+headValue+"</td></tr>");
		}
		
		out.println("  </BODY>");
		out.println("</HTNL>");
		out.flush();
		out.close();
	}

 

 

运行结果如下图所示:



 

 

    好了,这一次的总结就写到这里,希望以后保持坚持写总结的习惯,在Web这一阶段能有更深入的学习。

 

 

  • 大小: 7.3 KB
  • 大小: 5.2 KB
  • 大小: 14.6 KB
1
3
分享到:
评论
Global site tag (gtag.js) - Google Analytics