u盘重装系统软件什么软件好

JSP Request.getContextPath( )
JSP Request .get Context Path ( ), the context path is the portion of the request URL that indicates the context of the request.
JSP Request.getContextPath( )
Questions:
Tutorials:
JSP Request.getContextPath( )
JSP Request .get Context Path ( ), the context path is the portion of the
request URL that indicates the context of the request.
Understand with Example
The section of this Tutorial illustrate an example on JSP
Request.getContextPath. To begin with example we create a contextPath.jsp that
consists of a scriplets that embeds a java expression and putting them between
the character. The java expression consists of getContextPath( ) that
return the portion of the request URL and specifies the context of the request.
The context& Path comes first in a request URL. It starts with a
&/& character but never end with a &/& character. The
servlets in the default (root) context, this method returns & The container
does not decode string&.
&%=request.getContextPath( )%& : The &%=request.getContextPath
( )& is used to return the portion of the request URL and specifies the
context of the request.&&
Here is the code of contextPath.jsp
&title>Context Path>&/title>
&h2>Context Path&/h2>
&font color="red">The Context Path is:&%=request.getContextPath()%>&/font>
Output will be displayed as:
Advertisements
JSP Request.getContextPath( )
Questions:
Tutorials:
JSP Request.getContextPath( )
Posted on: June 10, 2009
If you enjoyed this post then why not add us on Google+?
Advertisements
Your Email :
Subject (*):
Your Comment (*):
&2001 - 2017 Rose India Technologies Pvt. Ltd. All Rights are Reserved其他回答(2)
收获园豆:5
学下jsp+servlet,要不然你是做不出来的
收获园豆:5
&&&您需要以后才能回答,未注册用户请先。转载请标明原文地址:/zhangyukof/p/6785258.html&一、准备工作已搭建好的SSH框架工程一个,如果没有,请参考我的上一篇文章《SSH框架搭建详细图文教程》。二、登陆功能1.打开MyEclipse切换到MyEclipse DataBase Explorer视图,右键user表选择"Hibernate Reverse Engineering",通过Spring框架的逆向工程功能把user表逆向生成Java实体类。2.在弹出窗口中Java src folder 选择SSH项目下的src文件夹。Java package 填写&com.ssh.spring.user&。勾选前三个选项:Create POJO、Java Data Obect和Java Data Access Object。POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作,这里会封装一些常用的操作,基本上可以满足我们的各种需要了,填写后选择&下一步&。3.Id Generator 选择&native&,点击完成。4.此时的目录结构如下,我们可以看到系统生成了3个类,一个配置文件。User&继承自AbstractUser,是User表的实体类。UserDAO 封装了一些对数据库的常用操作。User.hbm.xml 是hibernate-mapping映射配置文件,配置了哪个实体类映射哪个表,配置了实体类的哪个属性映射表里的哪列。5.现在来写测试页。打开WEB-INF文件夹下的struts-config.xml文件,切换到设计视图(design)。在空白处右键 & New & Form Action and JSP。6.填写Form表单属性:Use case: login在下方Form Properties中点击&Add&添加两个属性username: JSP input type选择&text&password: JSP input type选择&password&7.切换到JSP选项,勾选&Create JSP form&选项让系统自动生成login.jsp页,点击&完成&。8.完成后项目结构如下,Struts帮我们建立了逻辑关系并生成了login.jsp、LoginForm.java、LoginAction.java三个文件。这正是我们在设计视图里选择Form,Action and JSP所配置的信息。9.把struts-config.xml切换到source源代码视图,可以看到struts的配置文件里也相应的添加了这3个文件的映射配置信息。Struts处理请求的流程:10.新建一个loginSuccess.jsp登陆成功页,实现登陆后的跳转。右键项目的WebRoot/form文件夹 选择&新建& & &JSP(Advanced Templates)&。11.在弹出窗口中&File Name&处填写:loginSuccess.jsp。12.打开loginSuccess.jsp修改页面代码如下:&%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&&%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%&&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&&html&
&base href="&%=basePath%&"&
&title&登陆成功页&/title&
&meta http-equiv="pragma" content="no-cache"&
&meta http-equiv="cache-control" content="no-cache"&
&meta http-equiv="expires" content="0"&
&meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&
&meta http-equiv="description" content="This is my page"&
&link rel="stylesheet" type="text/css" href="styles.css"&
&% Object nickname = request.getAttribute("nickname"); %&
登陆成功!欢迎您:&% out.print(nickname); %&&br&
&/body&&/html&13.把登录页、登录成功跳转、登录失败跳转关联到一起。切换到struts-config.xml的设计视图。在视图中右键选择 New-&Forward。14.在弹出窗口中配置如下信息:(1)选择Local Action Forward(2)浏览Action Path:/login(3)填写name:loginSuccess(4)浏览Path:/form/loginSuccess.jsp(5)点击&完成&15.添加一个登陆失败跳转。在设计视图中的右键选择 New-&Forward。在弹出窗口中配置如下信息:(1)选择Local Action Forward(2)浏览Action Path:/login(3)填写name:loginFail(4)浏览Path:/form/login.jsp(5)点击&完成&添加跳转后struts-config.xml结构如下:16.切换到struts-config.xml的source视图,可以看到在aciton下多了两行跳转信息。&?xml version="1.0" encoding="UTF-8"?&&!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"&&struts-config&
&data-sources /&
&form-beans &
&form-bean name="loginForm" type="com.ssh.struts.form.LoginForm" /&
&/form-beans&
&global-exceptions /&
&global-forwards /&
&action-mappings &
attribute="loginForm"
input="/form/login.jsp"
name="loginForm"
path="/login"
scope="request"
type="com.ssh.struts.action.LoginAction"&
&set-property property="cancellable" value="true" /&
&forward name="loginSuccess" path="/form/loginSuccess.jsp" /&
&forward name="loginFail" path="/form/login.jsp" /&
&/action-mappings&
&message-resources parameter="com.ssh.struts.ApplicationResources" /&&/struts-config&17.写具体的处理代码。打开struts/aciton包下的LoginAction.java。修改代码如下,先不连数据库测一下是否能够正确跳转。package com.ssh.struts.import javax.servlet.http.HttpServletRimport javax.servlet.http.HttpServletRimport org.apache.struts.action.Aimport org.apache.struts.action.ActionFimport org.apache.struts.action.ActionFimport org.apache.struts.action.ActionMimport com.ssh.struts.form.LoginFpublic class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm)
//获取帐号密码
String username = loginForm.getUsername();
String password = loginForm.getPassword();
//帐号密码匹配跳转到登录成功页并显示昵称
if("asd".equals(username) && "123".equals(password)){
request.setAttribute("nickname", "冰封百度");
return mapping.findForward("loginSuccess");
//不匹配,跳转到登录失败页并显示提示信息
request.setAttribute("message", "账号或密码错误");
return mapping.findForward("loginFail");
}}18.页面准备完毕。启动Tomcat服务器,在浏览器中访问登陆页地址:http://127.0.0.1:8080/SSH/form/login.jsp19.汉化界面。打开login.jsp,代码如下:&%@ page language="java" pageEncoding="UTF-8"%&&%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%& &%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%& &html&
&title&JSP for LoginForm form&/title&
&html:form action="/login"&
username : &html:text property="username"/&&html:errors property="username"/&&br/&
password : &html:password property="password"/&&html:errors property="password"/&&br/&
&html:submit/&&html:cancel/&
&/html:form&
&/body&&/html&注意:头部引用的文件位置是"http://struts.apache.org/",路径地址是国外apache的官网文件,这个地址经常会访问不到,导致页面打开失败,所以这里要改成自己工程下的文件路径。页面代码修改如下:&%@ page language="java" pageEncoding="UTF-8"%&&%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %&&%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %& &html&
&title&登陆页&/title&
&html:form action="/login"&
用户名 : &html:text property="username"/&&html:errors property="username"/&&br/&
密 码 : &html:password property="password"/&&html:errors property="password"/&&br/&
&html:submit value="登陆" /&&html:cancel value="取消"/&
&/html:form&
&% Object message = request.getAttribute("message"); %&
&% if(message != null) out.print(message); %&
&/body&&/html&刷新页面可以看到如下效果:20.直接点击登陆。因为没填账号密码,应该跳转到登陆失败页面。21.用户名填写&asd&,密码填写&123&。点击登录,帐号密码和后台设置的匹配,这时候应该跳转到登录成功页面。22.测试完成,下面我们连接一下数据库,从数据库里取出user数据进行匹配。想操作数据库我们要先获取DAO(data access object),我们的UserDAO是hibernate生成的,关于UserDAO的配置信息写在了applicationContext.xml里。所以在用UserDAO之前要先获取applicationContext.xml。百度上查找了一下相关代码,找到了一个获取applicationContext.xml的方法。Spring框架里的ClassPathXmlApplicationContext 通过这个类可以获取到我们需要的DAO。名字和applicationContext非常像,看起来就是这个类了,测试一下这个类是否好用,修改LoginAction.java代码如下:package com.ssh.struts.import javax.servlet.http.HttpServletRimport javax.servlet.http.HttpServletRimport org.apache.struts.action.Aimport org.apache.struts.action.ActionFimport org.apache.struts.action.ActionFimport org.apache.struts.action.ActionMimport org.springframework.context.support.ClassPathXmlApplicationCimport com.ssh.struts.form.LoginFpublic class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm)
//获取帐号密码
String username = loginForm.getUsername();
String password = loginForm.getPassword();
//获取用户信息
ClassPathXmlApplicationContext beans = new ClassPathXmlApplicationContext("applicationContext.xml");
System.out.println(beans);
//帐号密码匹配跳转到登录成功页并显示昵称
if("asd".equals(username) && "123".equals(password)){
request.setAttribute("nickname", "冰封百度");
return mapping.findForward("loginSuccess");
//不匹配,跳转到登录失败页并显示提示信息
request.setAttribute("message", "账号或密码错误");
return mapping.findForward("loginFail");
}}23.重启Tomcat服务器,访问登录页http://127.0.0.1:8080/SSH/form/login.jsp,点击登录。javax.servlet.ServletException: org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]出现了一个错误,意思为找不到applicationContext.xml。看来我们填写的路径有问题,这个配置文件应该是从我们项目classes的根目录开始查找的,先看一下我们的项目发布后classes的路径,右键SSH项目 & 属性 & Java构建路径 & 源代码。可以看到我们项目发布后classes的根目录是SSH/WebRoot/WEB-INF/classes。 applicationContext.xml是这个位置的上一级,那么相对于这个路径的位置就是"../applicationContext.xml"。现在把LoginAction里的路径修改一下:ClassPathXmlApplicationContext beans = new ClassPathXmlApplicationContext("../applicationContext.xml");重新启动Tomcat服务器,访问登录页http://127.0.0.1:8080/SSH/form/login.jsp,点击登录:页面不再报错,正常跳转,控制台也输出了:org.springframework.context.support.ClassPathXmlApplicationContex: startup date [Mon Apr 22 14:26:58 CST 2017]; root of context hierarchy]如果页面还是出错,出现以下信息,则有可能Java EE库的版本低了,请删除项目里的Java EE库重新添加Java EE 6.0库org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [config/applicationContext.xml]: Instanti nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.hibernate3.LocalSessionFactoryBean]: Constru nested exception is java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration24.路径的问题解决了,正确的获取到了配置信息,这个配置信息我们以后要经常用,没必要每次用的时候都把它创建出来,写一个全局变量保存它吧。在src下新建一个包mon,在包里新建一个类Global.java。输入代码如下:import org.springframework.context.support.ClassPathXmlApplicationCpublic class Global {
public static ClassPathXmlApplicationContext beans = new ClassPathXmlApplicationContext("../applicationContext.xml");
public static Object getDao(String daoName){
return beans.getBean(daoName);
}}26.现在来获取数据库里的数据,上一篇文章中建的user表中已经插入了一条数据,就用这个用户信息来测试。把LoginAction.java代码修改如下:package com.ssh.struts.import java.util.Limport javax.servlet.http.HttpServletRimport javax.servlet.http.HttpServletRimport org.apache.struts.action.Aimport org.apache.struts.action.ActionFimport org.apache.struts.action.ActionFimport org.apache.struts.action.ActionMimport mon.Gimport com.ssh.spring.user.Uimport com.ssh.spring.user.UserDAO;import com.ssh.struts.form.LoginFpublic class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm)
//获取帐号密码
String username = loginForm.getUsername();
String password = loginForm.getPassword();
//检查该用户是否存在
User instance = new User();
instance.setUsername(username);
instance.setPassword(password);
UserDAO userDAO = (UserDAO)Global.getDao("UserDAO");
List&?& list = userDAO.findByExample(instance);
//如果用户存在,跳转到登录成功页并显示昵称
if(list.size() & 0){
User user = (User)list.get(0);
String nickname = user.getNickname();
request.setAttribute("nickname", nickname);
return mapping.findForward("loginSuccess");
//用户不存在,跳转到登录失败页并显示提示信息
request.setAttribute("message", "账号或密码错误");
return mapping.findForward("loginFail");
}}重新启动Tomcat服务器,访问登录页http://127.0.0.1:8080/SSH/form/login.jsp,用户名:admin,密码:1234,点击登录。可以看到,跳转到登陆成功页并显示了正确的昵称。登录功能完成,因为只是个测试页,这些功能就尽量简单了,大家别介意,下面来做注册功能。三、注册功能1.切换到struts-config.xml的设计视图,空白处右键选择 New & Form,Action and JSP。2.在弹出窗口中配置如下信息:Use case填写&register&Form Properties点击&Add&添加三个属性(1)username & &type:text(2)password&& &type:password(3)nickname& & type:text3.点击JSP选项,勾选Create JSP form,点击&完成&。4.关联测试页和登陆页。右键struts-config.xml设计视图中的regiser.jsp 选择 &New & Forward。5.添加注册成功跳转。在弹出窗口中配置如下信息:(1)选择Local Action Forward(2)Action Path:/register(3)Name:registerSuccess(4)Path:/form/login.jsp点击&完成&。6.添加注册失败跳转。右键struts-config.xml设计视图中的regiser.jsp 选择 &New & Forward。在弹出窗口中配置如下信息:(1)选择Local Action Forward(2)Action Path:/register(3)Name:registerFail(4)Path:/form/register.jsp点击&完成&。关联成功后struts-config.xml代码如下:&?xml version="1.0" encoding="UTF-8"?&&!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"&&struts-config&
&data-sources /&
&form-beans &
&form-bean name="loginForm" type="com.ssh.struts.form.LoginForm" /&
&form-bean name="registerForm" type="com.ssh.struts.form.RegisterForm" /&
&/form-beans&
&global-exceptions /&
&global-forwards /&
&action-mappings &
attribute="loginForm"
input="/form/login.jsp"
name="loginForm"
path="/login"
scope="request"
type="com.ssh.struts.action.LoginAction"&
&set-property property="cancellable" value="true" /&
&forward name="loginSuccess" path="/form/loginSuccess.jsp" /&
&forward name="loginFail" path="/form/login.jsp" /&
attribute="registerForm"
input="/form/register.jsp"
name="registerForm"
path="/register"
scope="request"
type="com.ssh.struts.action.RegisterAction"&
&set-property property="cancellable" value="true" /&
&forward name="registerSuccess" path="/form/login.jsp" /&
&forward name="registerFail" path="/form/register.jsp" /&
&/action-mappings&
&message-resources parameter="com.ssh.struts.ApplicationResources" /&&/struts-config&7.汉化注册页。register.jsp修改后代码如下:&%@ page language="java" pageEncoding="UTF-8"%&&%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %&&%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %& &html&
&title&注册页&/title&
&html:form action="/register"&
昵 称 : &html:text property="nickname"/&&html:errors property="nickname"/&&br/&
用户名 : &html:text property="username"/&&html:errors property="username"/&&br/&
密 码 : &html:password property="password"/&&html:errors property="password"/&&br/&
&html:submit value="确定"/&&html:cancel value="取消"/&
&/html:form&
&% Object message = request.getAttribute("message"); %&
&% if(message != null) out.print(message); %&
&/body&&/html&8.把注册信息插入数据库。打开RegisterAction.java文件,修改代码如下:package com.ssh.struts.import java.util.Limport javax.servlet.http.HttpServletRimport javax.servlet.http.HttpServletRimport org.apache.struts.action.Aimport org.apache.struts.action.ActionFimport org.apache.struts.action.ActionFimport org.apache.struts.action.ActionMimport mon.Gimport com.ssh.spring.user.Uimport com.ssh.spring.user.UserDAO;import com.ssh.struts.form.RegisterFpublic class RegisterAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
//获取注册信息
RegisterForm registerForm = (RegisterForm)
String nickname = registerForm.getNickname();
String username = registerForm.getUsername();
String password = registerForm.getPassword();
//检查表单值是否有效
if(nickname.length() == 0 || username.length() == 0 || password.length() == 0){
request.setAttribute("message", "请填写昵称、用户名和密码");
return mapping.findForward("registerFail");
//检查用户名是否已被注册
UserDAO userDAO = (UserDAO)Global.getDao("UserDAO");
List&?& list = userDAO.findByUsername(username);
//用户名已被注册,返回注册页面
if(list.size() & 0){
request.setAttribute("message", "该用户名已被注册");
return mapping.findForward("registerFail");
//插入新用户
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setNickname(nickname);
userDAO.save(user);
request.setAttribute("message", "注册成功,请登录:" + nickname);
return mapping.findForward("registerSuccess");
}}9.测试注册功能。重新启动Tomcat服务器,访问注册页http://127.0.0.1:8080/SSH/form/register.jsp。(1)不填写信息,直接点击&确定&,会发现提示信息。(2)填写昵称、用户名和密码后点击&确定&。昵称:冰封千里用户名:asd密码:123可以看到注册成功了。至此,JSP的简单注册登录功能全部完成。如果出现乱码请按照以下方式解决。编码问题是很常见的问题,如果出现中文乱码的问题请打开web.xml配置编码过滤器即可解决这个问题。&?xml version="1.0" encoding="UTF-8"?&&web-app xmlns="/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="/xml/ns/javaee
/xml/ns/javaee/web-app_2_5.xsd"&
&!-- 中文乱码过滤器 Start --&
&!-- 在使用Tomcat服务器时,Struts的Form提交不支持中文,需要添加编码过滤器 --&
&filter-name&encodingFilter&/filter-name&
&filter-class&org.springframework.web.filter.CharacterEncodingFilter&/filter-class&
&init-param&
&param-name&encoding&/param-name&
&param-value&UTF-8&/param-value&
&/init-param&
&init-param&
&param-name&forceEncoding&/param-name&
&param-value&true&/param-value&
&/init-param&
&filter-mapping&
&filter-name&encodingFilter&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
&!-- 中文乱码过滤器 End --&
&display-name /&
&servlet-name&action&/servlet-name&
&servlet-class&org.apache.struts.action.ActionServlet&/servlet-class&
&init-param&
&param-name&config&/param-name&
&param-value&/WEB-INF/struts-config.xml&/param-value&
&/init-param&
&init-param&
&param-name&debug&/param-name&
&param-value&3&/param-value&
&/init-param&
&init-param&
&param-name&detail&/param-name&
&param-value&3&/param-value&
&/init-param&
&load-on-startup&0&/load-on-startup&
&/servlet&
&servlet-mapping&
&servlet-name&action&/servlet-name&
&url-pattern&*.do&/url-pattern&
&/servlet-mapping&
&welcome-file-list&
&welcome-file&index.jsp&/welcome-file&
&/welcome-file-list&&/web-app&??
Spark2.1.1&spark写入Hbase
最新教程周点击榜
8Spark2.1.1&spark写入Hbase的三种方法性能对
微信扫一扫转载 &原文地址:&/qq/p/6242096.html
&%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%&
这个语句是用来拼装当前网页的相对路径的。&base href="..."&是用来表明当前页面的相对路径所使用的根路径的。比如,页面内部有一个连接,完整的路径应该是 http://localhost:80/myblog/authen/login.do其中http://server/是服务器的基本路径,myblog是当前应用程序的名字,那么,我的根路径应该是那么http://localhost:80/myblog/。有了这个 &base ... &以后,我的页面内容的连接,我不想写全路径,我只要写 authen/login.do就可以了。服务器会自动把 &base ...&指定的路径和页面内的相对路径拼装起来,组成完整路径。如果没有这个 &base...&,那么我页面的连链接就必须写全路径,否则服务器会找不到。request.getSchema()可以返回当前页面使用的协议,就是上面例子中的&http&request.getServerName()可以返回当前页面所在的服务器的名字,就是上面例子中的&localhost"request.getServerPort()可以返回当前页面所在的服务器使用的端口,就是80,request.getContextPath()可以返回当前页面所在的应用的名字,就是上面例子中的myblog这四个拼装起来,就是当前应用的跟路径了
阅读(...) 评论()

我要回帖

更多关于 u盘重装系统win7 的文章

 

随机推荐