Java(9):MVC框架基础:Servlet+Jsp+javabean(1)
来源:互联网 发布:水稻基因组数据库 编辑:程序博客网 时间:2024/06/06 10:02
日期:2017/11/10
自学Java一个月了,这段经历给我的感受是:确保每天进步一点点;前三个星期是领悟--通过持续不断的练习,熟练掌握面向对象的编程;后面的时间则是冲击流行框架(spring/springMVC/Mybatis/Hibernate/structs等等)的掌握,力求做出成品,现在熟悉了MVC(Servlet+JSP+JavaBean)开发的小Demo后,果然还是功力稍显嫩。
保持脚踏实地、实事求是,现在对学会的作下总结:
一、Servlet
A servlet is a small Java program that runs within a Web server. Servlets receive and respond to requests from Web clients, usually across HTTP, the HyperText Transfer Protocol.
一段运行在服务器(Tomcat)的程序,它是java代码,常用的继承类是HttpServlet,类的方法见下列表,但最常用的方法是doGet()和doPost():
protected void
doDelete(HttpServletRequest req, HttpServletResponse resp)
service
method) to allow a servlet to handle a DELETE request.protected void
doGet(HttpServletRequest req, HttpServletResponse resp)
service
method) to allow a servlet to handle a GET request.protected void
doHead(HttpServletRequest req, HttpServletResponse resp)
service
method and handles the request.protected void
doOptions(HttpServletRequest req, HttpServletResponse resp)
service
method) to allow a servlet to handle a OPTIONS request.protected void
doPost(HttpServletRequest req, HttpServletResponse resp)
service
method) to allow a servlet to handle a POST request.protected void
doPut(HttpServletRequest req, HttpServletResponse resp)
service
method) to allow a servlet to handle a PUT request.protected void
doTrace(HttpServletRequest req, HttpServletResponse resp)
service
method) to allow a servlet to handle a TRACE request.protected long
getLastModified(HttpServletRequest req)
HttpServletRequest
object was last modified, in milliseconds since midnight January 1, 1970 GMT.protected void
service(HttpServletRequest req, HttpServletResponse resp)
service
method and dispatches them to the do
XXX methods defined in this class.void
service(ServletRequest req, ServletResponse res)
service
method.仔细观察可以发现,这些方法共同的地方是引用了两个参数:HttpServletRequest req,HttpServletResponse resp。而service()是一个处理请求分发的方法,分配给doGet和DoPost。
req
- an HttpServletRequest
object that contains the request the client has made of the servletresp
- an
HttpServletResponse object that contains the response the servlet sends to the clientreq 是一个 HttpServletRequest 对象,代表了客户端的请求信息;resp 是一个 HttpServletResponse 对象,代表了服务端的响应信息;
HttpServletRequest
Extends the ServletRequest
interface to provide request information for HTTP servlets.
The servlet container creates an HttpServletRequest
object and passes it as an argument to the servlet's service methods (doGet
, doPost
, etc).
它是一个接口(interface),继承了另一个父接口--ServletRequest , HttpServletRequest 有一大批实现了的常用的方法:
boolean
authenticate(HttpServletResponse response)
ServletContext
to authenticate the user making this request.String
changeSessionId()
String
getAuthType()
String
getContextPath()
Cookie[]
getCookies()
Cookie
objects the client sent with this request.long
getDateHeader(String name)
long
value that represents a Date
object.String
getHeader(String name)
String
.Enumeration<String>
getHeaderNames()
Enumeration<String>
getHeaders(String name)
Enumeration
of String
objects.default HttpServletMapping
getHttpServletMapping()
HttpServletMapping
by which the HttpServlet
for this HttpServletRequest
was invoked.int
getIntHeader(String name)
int
.String
getMethod()
Part
getPart(String name)
Part
with the given name.Collection<Part>
getParts()
Part
components of this request, provided that it is of type multipart/form-data
.String
getPathInfo()
String
getPathTranslated()
String
getQueryString()
String
getRemoteUser()
null
if the user has not been authenticated.String
getRequestedSessionId()
String
getRequestURI()
StringBuffer
getRequestURL()
String
getServletPath()
HttpSession
getSession()
HttpSession
getSession(boolean create)
HttpSession
associated with this request or, if there is no current session and create
is true, returns a new session.default Map<String,String>
getTrailerFields()
Principal
getUserPrincipal()
java.security.Principal
object containing the name of the current authenticated user.boolean
isRequestedSessionIdFromCookie()
boolean
isRequestedSessionIdFromUrl()
isRequestedSessionIdFromURL()
instead.boolean
isRequestedSessionIdFromURL()
boolean
isRequestedSessionIdValid()
default boolean
isTrailerFieldsReady()
getTrailerFields()
.boolean
isUserInRole(String role)
void
login(String username, String password)
ServletContext
.void
logout()
null
as the value returned when getUserPrincipal
, getRemoteUser
, and getAuthType
is called on the request.default PushBuilder
newPushBuilder()
PushBuilder
for issuing server push responses from the current request.<T extends HttpUpgradeHandler>
T
upgrade(Class<T> handlerClass)
HttpUpgradeHandler
for a given class and uses it for the http protocol upgrade processing.同理,HttpServletRequest也是一样:
Extends the ServletResponse
interface to provide HTTP-specific functionality in sending a response. For example, it has methods to access HTTP headers and cookies.
The servlet container creates an HttpServletResponse
object and passes it as an argument to the servlet's service methods (doGet
, doPost
, etc).
常用的方法有:
void
addCookie(Cookie cookie)
void
addDateHeader(String name, long date)
void
addHeader(String name, String value)
void
addIntHeader(String name, int value)
boolean
containsHeader(String name)
String
encodeRedirectUrl(String url)
String
encodeRedirectURL(String url)
sendRedirect
method or, if encoding is not needed, returns the URL unchanged.String
encodeUrl(String url)
String
encodeURL(String url)
String
getHeader(String name)
Collection<String>
getHeaderNames()
Collection<String>
getHeaders(String name)
int
getStatus()
default Supplier<Map<String,String>>
getTrailerFields()
void
sendError(int sc)
void
sendError(int sc, String msg)
void
sendRedirect(String location)
void
setDateHeader(String name, long date)
void
setHeader(String name, String value)
void
setIntHeader(String name, int value)
void
setStatus(int sc)
void
setStatus(int sc, String sm)
setStatus(int)
, to send an error with a description use sendError(int, String)
. Sets the status code and message for this response.default void
setTrailerFields(Supplier<Map<String,String>> supplier)
二、JSP
java server page,动态技术标准,嵌入了java的html文件,引入目的:负责用户的html显示,实现"业务逻辑"和“视图实现”的分离。本质还是一个servlet,因为它不是被客户端直接的调用,而是 先翻译成 .java 文件,编译成 .class 文件而执行。
三、JavaBean
java bean是可复用组件(说明白了,就是将复用性强的java代码封装在一个类文件中)。对比 EJB,主要用在客户端的开发,只能在开发阶段定制,也不是什么分布式对象,只能在web-app内部被访问。
待续...
- Java(9):MVC框架基础:Servlet+Jsp+javabean(1)
- Java(26):MVC框架基础:Servlet+Jsp+javabean(2)
- Java(27):MVC框架基础:Servlet+Jsp+javabean(3)
- java web MVC的实现(JSP+Servlet+javaBean)
- jsp+servlet+javabean (MVC)分页
- JSP+JavaBean+Servlet技术(MVC模型)
- (1.2)利用Servlet+JSP+JavaBean实现MVC
- MVC(javaBean,JSP,Servlet)与MySQL结合例子
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
- MVC模式:jsp+servlet+javabean
- 【Java Web】Jsp+Servlet+JavaBean+MySql入门级MVC实例
- 初次使用wget下载
- Matlab基础语法
- BeanUtils拷贝两个对象的相同属性
- spring注解配置
- 【Shell】for循环
- Java(9):MVC框架基础:Servlet+Jsp+javabean(1)
- java日常学习:构造函数及this关键字使用
- Format函数
- 如何减肥之饮食规则
- wustoj (二叉树)
- CUDA随机数模块 无法编译通过问题
- Distutils介绍
- 在Windows上让Python脚本像程序一样可以双击运行
- spring aop学习9:Aop的链式调用(责任链模式)