JSP考点总结
1,JSP中动态INCLUDE与静态INCLUDE的区别?
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
####这个是把引用的jsp编译成servlet以后,直接调用servlet类的做法。####
静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>
####查看编译以后的servlet类文件会发现,里面包含引用的jsp的全部代码。 ####
2,JSP的内置对象及方法。
request - javax.servlet.HttpServletRequest
reponse - javax.servlet.HttpServletResponse
pageContext - javax.servlet.jsp.PageContext
application - javax.servlet.ServletContext
out - javax.servlet.jsp.JspWriter
config - javax.servlet.ServletConfig
page - java.lang.Object (相当于java中的this关键字)
session -javax.servlet.http.HttpSession
exception - java.lang.Exception
相关文档:
上网看了好多,就这一篇解决了我的问题,现转,我的项目用的是MVC架构,有统一的控制器,转向不同的Action,上网看了好多,大部分是说加入request.setCharacterEncoding("utf-8");但是经过我的试验,这只有在利用JSP处理表单传输数据时才可用,在我的东西中无法解决,后来发现还是用FilterChain好,呵呵,重点还是在request ......
1.
<jsp:useBran id="cb" class="bean.CounterBean" >
</jsp:useBean>
对应代码: <%CounterBean cb = new CounterBean();%>
2.
<jsp:setProperty name ="cb" property="count" value = "23"/> 对应代码:
<%-- cb.setCount(Integer.paseInt("23"))- -%>
3.
<jsp:setProperty nam ......
第一种采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setString方法传值即可:
String sql= "select * from users where username=? and password=?;
PreparedStatement preState = conn.prepareStatement(sql);
preState.setString(1, userName);
preState.setString(2, password);
ResultSet rs = ......
在jsp中引用response.setContentType("application/msword");,打开的页面就是word样式。
1、实现word横打:
<style>
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:841.9pt 595.3pt;//纸张的大小
mso-page-orientation:l ......
js好像本身不能获取服务器的IP,但JSP可以,所以用个隐藏域,js就可以借鸡下蛋了。
jsp代码如下:
<input type="hidden" id="serviceIp" name="serviceIp" value="<%=InetAddress.getLocalHost().getHostAddress()%>">
js代码如下:
function getServiceIP(){
var ser ......