本文已参与「新人创作礼」活动,一起开启掘金创作之路。
内置对象
-
out JspWriter
- println() print()
- flush() 输出缓冲区数据, close() 关闭输出流,并且强制终止剩余部分向浏览器输出,
- clear() 清楚缓冲区的数据,不写到客户端, clearBuffer() 清除缓冲区里的数据,写到客户端
- getRemaining() 获取缓冲区没有被占用的空间的大小, getBufferSize() 获取缓冲区大小
-
request HttpServletRequest
-
url 传值用getParameter() form 表单信息getParameterValues()
-
客户端request构造的信息
- getMethod
- getRequestURI
- getProtocol
- getServletPath
- getQueryString
- getServerName
- getServerPort
- getRemoteAddr
-
请求的转发: request.getRequestDispatcher(url).forward(res,req)
-
数据传递:setAttribute(name,value) getAttribute(name) removeAttribute(name)
-
-
response HttpServletResponse
- 重定向 → sendRedirect (重定向完成后,request属性全部失效,进入一个新的request作用域)
- setHeader来设置HTTP的头部
-
session HttpSession
- getAttribute,setAttribute,removeAttribute,removeAttributeinvalidate
-
appliation ServletContext
-
page this
-
pagecontext PageContext
-
config ServletConfig
-
exception Exception
forward和redirect区别→ forward地址栏不会变,数据共享,资源转发,效率高,只进行一次(redirect进行了两次)
JSP 脚本程序语法
jsp 脚本 <% 代码片段%>
jsp 声明 <%!变量声明%>
jsp 表达式 <%=表达式%> 表达式中一定是字符串类型
jsp 程序段中的变量只能先声明后使用,jsp声明中定义的变量是网页级别的
jsp 三种指令 page, include,taglib
page :
import, errorpage (指定错误调整), iserrorpage(指定本页为错误页)
include :
file (引入文件)
<jsp:include page=””/>
- jsp:include: 在页面被请求的时候引入一个文件。
- jsp:useBean: 寻找或者实例化一个JavaBean。
- jsp:setProperty: 设置JavaBean的属性。
- jsp:getProperty: 输出某个JavaBean的属性。
- jsp:forward: 把请求转到一个新的页面。
- jsp:plugin: 根据浏览器类型为Java插件生成OBJECT或EMBED标记。
- jsp:element: 定义动态XML元素
- jsp:attribute: 设置动态定义的XML元素属性。
- jsp:body: 设置动态定义的XML元素内容。
- jsp:text: 在JSP页面和文档中使用写入文本的模板
Cookie
Cookie 由服务端生成,发给客户端的
response.addCookie(new Cookie(name,value)) setMaxAge() 设置cookie的生命周期,0代表立即失效,正数代表秒数,负数-1代表离开浏览器失效
request.getCookie(name) or request.getCookies();
res = new Cookie(name,value); res.getName(), res.getValue()
数据库
注意:
PreparedStatement pre = con.preparestatement(sql)
前面有d,后面没有d
包名是 com.mysql.cj.jdbc.Driver
Class.forName("com.jdbc.mysql.Driver") or Class.forName("com.jdbc.cj.mysql.Driver")
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/demo","root","root")
Statement st = con.createStatement()
PreparedStatement pre = con.prepareStatement(sql)
pre.setString(1,1)
pre.executeUpdate()
int i = st.executeUpdate(sql)
ResultSet res = st.executeQuery(sql)
st.close()
con.close()
乱码问题
request.setCharacterEncoding(“UTF-8”)
response.setContentType(“text/html,charset=UTF-8”)
ResultSet 第一次指向第一条数据之前的那一条
事务
con.setAutoCommit(false)
con.commit()
con.rollback()
con.close()
Servlet
import javax.servlet.http.HttpServlet
public class Lish extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletRsponse resp)throws ServeletException, IOException{
}
}
# 配置servlet
<servlet>
<servlet-name>Lis</servlet-name>
<servlet-class>controller.Lish</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Lis</servlet-name>
<url-pattern>/lis</url-pattern>
</servlet-mapping>
# 配置欢迎页
<welcome-file-list>
<welcome-file>index.jsp</welcome-file> 有先后顺序
</welcome-file-list>
# 配置初始化传参 通过 this.getInitParameter() 拿到东西
<init-param>
<param-name>driverClassName</param-name>
<param-value>sun.jdbc.odbc.JdbcOdbcDriver</param-value>
</init-param>
servlet生命周期:
init → service→destory
request和servletcontext 使用getDispatcher(url).forward的区别:
request使用的是相对路径
servletcontext使用的是绝对路径
全局
<context-param>
<param-name>参数名</param-name>
<param-value>参数值</param-value>
</context-param>
局部
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
<init-param>
<param-name>参数名</param-name>
<param-value>参数值</param-value>
</init-param>
</servlet>
Filter
接口需要实现的三个函数
public void init(FilterConfig con){
}
public void doFilter(ServletRequest res,ServletResponse resp,FilterChain chain){
}
public void destory(){
}
filter 2.0 配置
<filter>
<filter-name>login</filter-name>
<filter-class>Filter.login</filter-class>
</filter>
<filter-mapping>
<filter-name>login</filter-name>
<url-pattern>/login/*</url-pattern>
</filter-mapping>
今天的文章梦回JSP和Servlet(上)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/22359.html