坐标地址

看清楚-----那个飞的风筝才是我

 

Java学习05 (第一遍) - JSP与Servlet

JSP

客户端发出Request请求,JSP容器将JSP转译为Servlet的源码,再编译加载到内存执行,结果Response到客户端。

Request->JSP->Servlet(java)->class(.class)->Servlet instance->Response

 

页头第一行

<%@page import="com.xxx.xxx.类"%>

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

Html中插入JSP小脚本

<%

//Java代码

%>

注释:

<!--html注释 -->

<%--JSP注释-->

<%

//Java注释

/*Java多行注释*/

%>

JSP内置对象(request,response,session,out,application,pageContext,page,config,exception):

在<% %>中使用的,内置对象(先声名了,直接使用)

<%

out.println("xxx");

Map name=request.getParameterMap("xxx");

response.sendRedirect("/xxx.jsp");

String st=exception.getMessage();

%>

 

Servlet

WebServer编译JSP为Servlet,执行Servlet,将JSP的HTML标记交给客户端浏览器执行,将JSP内容(指令,标记,声名,代码段,表达式)服务器处理,再将结果给到客户端浏览器。

Eclipse (简单登陆)

1.New->Dynamic Web Project

2.New->login.jsp,pass.jsp,fail.jsp

3.New->Servlet->Java package:com.test /Class name:Login/superclass:javax.servlet.http.HttpServlet (default)

->URL Mappings:/Login (default) ->Which method ..create? 

Constructors form superclass(default)

Inherited abstract methods(default)

doPost(default)

doGet(default)  //Servlet中处理用户的请求为doGet()方法或doPost()方法,当用户发送请求(post/get)由Web容器自动分配时,系统将自动调用对应的方法,所以Servlet中,doPost方法调用了doGet方法,达到一致的处理。

login.jsp

<form action="Login" method="post">
<input type="text" name="uname"/>
<br/>
<input type="password" name="upassword"/>
<br/>
<input type="submit" value="submit">
</form>

 

Login.java (com.test.Login)

protected void doGet(HttpServletRequest request, HttpServletResponse response){ //方法自动生成

String name=request.getParameter("uname");
String password=request.getParameter("upassword");
RequestDispatcher rd =null;
if ("test".equals(name)&&("123".equals(password))){
rd=request.getRequestDispatcher("pass.jsp");
}else{
rd=request.getRequestDispatcher("fail.jsp");
}
rd.forward(request, response);

}

web.xml

<servlet>   //自动生成
<description></description>
<display-name>Login</display-name>
<servlet-name>Login</servlet-name>
<servlet-class>com.test.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/Login</url-pattern>
</servlet-mapping>

 

posted on 2017-06-27 15:16  Augur  阅读(109)  评论(0编辑  收藏  举报

导航